本人是新手,在学习java如何打开文件和保存文件,功能很简单,实现起来也不麻烦。
附源代码:
public class FileOpenAndSave extends JFrame{
private static final long serialVersionUID = 4029562126308556571L;
private JPanel panel1, panel2;
private TextArea ta;
private JButton open, save;
private JLabel label;
public FileOpenAndSave() {
setSize(400, 300);
setTitle("FileOpenDemo");
setLocation(400, 400);
panel1 = new JPanel(new BorderLayout());
(new Dimension(280, 280));
ta = new TextArea();
(ta, );
open = new JButton("Open File");// 打开文件按钮
save = new JButton("Save File");// 保存文件按钮
// 为打开文件按钮注册监听器
(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser chooser = new JFileChooser("请选择文件");
FileNameExtensionFilter filter = new FileNameExtensionFilter("文本文件(*.txt)", "txt");
(filter);
int res = (null);
if(res == JFileChooser.APPROVE_OPTION){
File file = ();
String path = ();
try {
// 注意编码问题
InputStreamReader reader = new InputStreamReader(new FileInputStream(path), "utf-8");
char[] buf = new char[1024];
int len = 0;
CharBuffer cb = ((int) ());
while((len = (buf)) > -1){
(buf, 0, len);
}
();
String str = new String(());
// 此段代码功能是将所读文件复制到相同路径下
/*int sep = ("\\");
path = (0, sep + 1) + "";
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(path));
(());
();*/
(false);
(str);
} catch (Exception e1) {
();
}
}
}
});
// 为保存文件按钮注册监听器
(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String path;
String content = ();
JFileChooser chooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter("文本文件(*.txt)", "txt");
(filter);
int res =(null);
if(res == JFileChooser.APPROVE_OPTION){
path = ().getAbsolutePath() + ".txt";// 获得保存路径
try {
// 注意编码问题
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(path), "gbk");
(content);
();
} catch (IOException e1) {
();
}
}
}
});
label = new JLabel("hhshhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
(false);
panel2 = new JPanel(new FlowLayout());
(label);
(open);
(save);
add(panel1, );
add(panel2, );
setResizable(false);
enableInputMethods(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new FileOpenAndSave();
}
}