java - 为什么我的 GUI Java 程序中的输出文件为空?

标签 java filewriter

我正在使用 GUI 进行用户输入。我的主要目标是记录用户将输入的所有内容并将其发送到文件“file.txt”。

但是每当我打开文件时,它都是空的,即使我已经在文本字段中输入了内容。它仍然返回空。我是 Java 初学者。

package testpath;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;

public class Testpath extends JFrame {

    JLabel label;
    JTextField tf;
    JButton button;

     public Testpath(){
         setLayout(new FlowLayout());

         label= new JLabel("Enter First Name");
         add(label);

         tf=new JTextField(10);
         add(tf);

         button=new JButton("Log In");
         add(button);

         event e=new event();
         button.addActionListener(e);
     }

     public class event implements ActionListener{
         public void actionPerformed(ActionEvent e){
             try{
                 String word=tf.getText();
                 FileWriter stream= new FileWriter("C://Users//Keyboard//Desktop//file.txt");
                 BufferedWriter out=new BufferedWriter(stream);
                 out.write(word);
             }catch (Exception ex){}
         }
     }


    public static void main(String[] args) {
        Testpath gui=new Testpath();
        gui.setLocationRelativeTo(null);
        gui.setVisible(true);
        gui.setSize(400,250);
        gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  

    }
}

最佳答案

您永远不会关闭流,因此其内容永远不会写入磁盘。

只需在 out.write(); 之后调用 out.close(); 即可。

如果您希望将内容写入磁盘而不同时关闭流,可以使用out.flush();。 (感谢@Ultraviolet)

关于java - 为什么我的 GUI Java 程序中的输出文件为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46788270/

相关文章:

java - 带参数的方法

java - HQL连接查询: could not resolve property:

java - 使用 Java 在文件中进行正则表达式搜索

java - PrintWriter 与 FileWriter 在以下上下文中的比较

c# - DataGridView 上的 IOException 写入文本文件 C#

java - 我在资源中注入(inject)了服务接口(interface),但无法弄清楚如何配置资源方法调用

java - 无法在android中写入文件

java - 如何打开和关闭文件编写器附加?

java 。将字符串附加到文件,以奇怪的输出结束

java - 什么时候应该使用 Get 方法还是直接调用变量?