(《Java从入门到精通》(清华大学出版社)P277 例子是写的乱七八糟的啊,能不能好好写?)
import javax.swing.*;
import java.awt.*;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class Ftest extends JFrame {
//private static final long serialVersionUID =1L;
public Ftest() {
setTitle("文件读写");
Container c = getContentPane();
setLayout(new GridLayout(2, 1, 10, 10));
JPanel jp1 = new JPanel(new GridLayout(1, 1, 30, 30));
JPanel jp2 = new JPanel(new FlowLayout(FlowLayout.CENTER, 10, 10));
JTextArea jt = new JTextArea("", 6, 6);
jt.setLineWrap(true);
jp1.add(jt);
JButton b1 = new JButton("写入文件");
JButton b2 = new JButton("读取文件");
jp2.add(b1);
jp2.add(b2);
c.add(jp1);
c.add(jp2);
setSize(500, 500);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
b1.addActionListener(e -> {
File fl = new File("D:/word.txt");
try {
FileWriter wr = new FileWriter(fl, true); //true表示追加式写入
String s = jt.getText();
System.out.println(s);
wr.write(s);
wr.close();
}catch (Exception e1) {
e1.printStackTrace();
}
});
b2.addActionListener(e -> {
File fl = new File("D:/word.txt");
try {
FileReader rd = new FileReader(fl);
char[] byt = new char[1024];
int len = rd.read(byt);
String str = new String(byt, 0, len); //读取好麻烦
jt.setText(str);
rd.close();
}catch (Exception e2) {
e2.printStackTrace();
}
});
}
public static void main(String[] args) {
new Ftest();
}
}