Java 使用FIlewriter在文件中写入数据

Java 使用FIlewriter在文件中写入数据,java,io,filewriter,Java,Io,Filewriter,我正在制作一个简单的程序,使用FileWriter将数据放入文件中 但我面临一个问题。我的代码正在创建fie,但没有将数据放入文件中 import java.io.*; class Temp { public static void main(String args[])throws Exception { FileWriter fw=new FileWriter("ma.txt"); BufferedWriter bw=new Buffered

我正在制作一个简单的程序,使用
FileWriter
将数据放入文件中

但我面临一个问题。我的代码正在创建fie,但没有将数据放入文件中

import java.io.*;

class Temp
{
    public static void main(String args[])throws Exception
    {
        FileWriter fw=new FileWriter("ma.txt");
        BufferedWriter bw=new BufferedWriter(fw);
        String str="dslkm dsk";
        bw.write(str);
    }
}

为什么会发生这种情况?

您需要刷新并关闭写入程序

bw.flush();
bw.close();
即使只是关闭writer也应该足够了,因为它在关闭之前会自动刷新。

您的代码应该是:

    public static void main(String args[])throws Exception
    {
        FileWriter fw=new FileWriter("ma.txt");
        BufferedWriter bw=new BufferedWriter(fw);
        String str="dslkm dsk";
        bw.write(str);
        bw.flush();
        bw.close();
    }

文件写入程序始终需要关闭或刷新。否则,无法保证将
字节
/
字符
写入文件。最好使用
fileWriter
try catch finally
块-

try {
       FileWriter fw=new FileWriter("ma.txt");
       BufferedWriter bw=new BufferedWriter(fw);
       String str="dslkm dsk";
       bw.write(str);

    } catch (IOException ex){
       System.err.println("Couldn't log this: "+s);
    }finally{
       bw.close();
    }

哦,我刚才看到了两种反应。我来晚了一点,没有回答这个问题。