Java 为什么我无法将文本写入文件

Java 为什么我无法将文本写入文件,java,Java,我已经编写了一个简单的代码将文本写入文件,但我无法理解文本为什么不写入文件。我用方法编写了一个类,该类将文本文件作为输入,如果文本文件不存在,则创建文本文件 代码如下: import java.io.File; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStre

我已经编写了一个简单的代码将文本写入文件,但我无法理解文本为什么不写入文件。我用方法编写了一个类,该类将文本文件作为输入,如果文本文件不存在,则创建文本文件

代码如下:

import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;

public class OutputFile {

    public static BufferedWriter fbw = null;

    public BufferedWriter createFile(String text)
    {
        try{
            File file =new File(text);
            if(!file.exists()){
                file.createNewFile();
            }
            FileWriter writer = new FileWriter(text,true);
            fbw =new BufferedWriter(writer);
        }
        catch (IOException e)
        {
            System.out.println(e.getMessage());
        }
        return fbw;
    }

    public static void main(String args[]) throws IOException
    {
        String resultFilePath = "C:/Users/Desktop/stringcompare/output.txt";
        OutputFile file = new OutputFile();
        fbw = file.createFile(resultFilePath);
        fbw.write("hello");
        fbw.newLine();
        fbw.close();
    }
}

你必须刷新你的输出。这可以通过调用
writer.flush()
直接完成。请尝试以下操作:

try(BufferedWriter bw = new BufferedWriter(new FileWriter("FILE_PATH_HERE"))){

    br.write("STUFF_TO_WRITE_HERE");

} catch(IOException e){

}
使用此语句,所有关闭文件的工作都将自动完成


这只适用于Java 7或更高版本。

您是否遇到任何异常?请尝试在
fbw.close()
之前添加
fbw.flush()
,这对我来说很好。
C:/Users/Desktop/stringcompare
是否存在?Braj,我没有遇到任何异常,我的文本文件中没有写入任何内容。不
close()
刷新文件中的数据?应该,但我习惯在关闭前刷新,因为我已经多次遇到过这个问题。值得一提的是,这只适用于java 7或更高版本。这是java 7中推出的一项功能,因此它只适用于该版本和未来版本。