private JButton getOpenButton() { if (openButton == null) { openButton = new JButton(); openButton.setText("写入文件"); // 修改按钮的提示信息openButton.addActionListener(new java.awt.event.ActionListener() { // 按钮的单击事件public void actionPerformed(ActionEvent e) { // 创建文件对象File file = new File("word.txt"); try { // 创建FileWriter对象FileWriter out = new FileWriter(file); // 获取文本域中文本String s = jTextArea.getText(); out.write(s); // 将信息写入磁盘文件out.close(); // 将流关闭 } catch (Exception e1) { e1.printStackTrace(); } } } ); } return openButton; } private JButton getCloseButton() { if (closeButton == null) { closeButton = new JButton(); closeButton.setText("读取文件"); // 修改按钮的提示信息closeButton.addActionListener(new java.awt.event.ActionListener() { // 按钮的单击事件public void actionPerformed(ActionEvent e) { File file = new File("word.txt"); // 创建文件对象try { // 创建FileReader对象FileReader in = new FileReader(file); char byt[] = new char[1024]; // 创建char型数组int len = in.read(byt); // 将字节读入数组// 设置文本域的显示信息jTextArea.setText(new String(byt, 0, len)); in.close(); // 关闭流 } catch (Exception e1) { e1.printStackTrace(); } } } ); } return closeButton; }
Wie im obigen Programmabschnitt gezeigt, dachte ich zunächst, dass beide Tastenanschläge die Datei woed.txt neu erstellten. Haben sie sie also nicht überschrieben?
Tatsächlich ist es nicht wahr. Die von der File-Klasse erstellte Datei word.txt wird nicht wirklich erstellt muss file.creatNewfile() verwenden. Tatsächlich wird an beiden Stellen new File("word.txt") verwendet, es wird jedoch vorübergehend ein Cache auf der Festplatte erstellt .
Und da die erste Schaltfläche bereits erstellt wurde, wird sie von der zweiten direkt verwendet (mit demselben Namen).
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem doppelter TXT-Dateien, die von der File-Klasse in Java erstellt wurden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!