import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
public class GUIDemo extends JFrame{
private static final String TARGET_FILE = "./temp.txt";//三个组件private JButton saveButton;private JButton loadButton;private TextArea textArea;//容器private Container container;//指标文件private File targetFile;public GUIDemo() throws IOException { //设置title super("File Demo"); //设置流布局 setLayout(new FlowLayout()); //获取容器 container = getContentPane(); //创立指标文件对象 targetFile = new File(TARGET_FILE); if(targetFile.createNewFile()) { System.out.println([电子钱包](https://www.gendan5.com/wallet.html)"文件不存在,创立胜利"); }else { System.out.println("文件存在"); } //三个组件 textArea = new TextArea(); saveButton = new JButton("save"); loadButton = new JButton("load"); //保留文件按钮点击事件 saveButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try { //关上文件字符输入流 FileWriter writer = new FileWriter(targetFile); //获取文本显示区文本 String result = textArea.getText(); //写入文件 writer.write(result); //敞开输入流 writer.close(); //清空文本显示区内容 textArea.setText(""); System.out.println("存档胜利"); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }); //读入文件按钮点击事件 loadButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try { //字符读入流 FileReader reader = new FileReader(targetFile); //读入缓冲区 char[] buffer = new char[1024]; //读入后果 StringBuffer result = new StringBuffer(); //每次读入缓冲区的长度 int len; //从读入流中读取文件内容并造成后果 while((len = reader.read(buffer)) != -1) { result.append(buffer,0,len); } //敞开读入流 reader.close(); //更新文本显示区内容 textArea.setText(result.toString()); System.out.println("读档胜利"); } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }); //装填三个组件 container.add(textArea); container.add(loadButton); container.add(saveButton); //调整大小 setSize(500, 300); //显示 setVisible(true);}public static void main(String[] args) throws IOException { GUIDemo demo = new GUIDemo(); demo.setDefaultCloseOperation(EXIT_ON_CLOSE);}
}