FileWriter没有写入文件

  • 本文关键字:文件 FileWriter java file
  • 更新时间 :
  • 英文 :


我有以下代码

try
{
    FileWriter fileWriter = new FileWriter("C:\temp\test.txt");
    fileWriter.write("Hi this is sasi This test writing");
    fileWriter.append("test");
}
catch(IOException ioException)
{
    ioException.printStackTrace();
}

执行成功后,文件创建成功,但创建的文件为空。

代码有什么问题?

您必须关闭FileWriter,否则它不会刷新当前缓冲区。你可以直接调用flush方法。

fileWriter.flush()
fileWriter.close()

如果要关闭文件,则不需要使用flush方法。flush可以使用,例如,如果您的程序运行了一段时间,并在文件中输出一些东西,您想在其他地方检查它。

关闭缺失。因此,不是最后一个缓存数据没有写入磁盘。

关闭也发生在try-with-resources中。即使会抛出异常。在close之前也不需要flush,因为close会将所有缓冲的数据刷新到文件中。

try (FileWriter fileWriter = new FileWriter("C:\temp\test.txt"))
{
    fileWriter.write("Hi this is sasi This test writing");
    fileWriter.append("test");
}
catch (IOException ioException)
{
    ioException.printStackTrace();
}

您需要关闭filewriter,否则当前缓冲区将不会刷新,并且不允许您写入文件。

fileWriter.flush(); //just makes sure that any buffered data is written to disk
fileWriter.close(); //flushes the data and indicates that there isn't any more data.

来自Javadoc

关闭流,先冲洗它。一旦河流被关闭,进一步的write()或flush()调用将导致IOException异常抛出。但是,关闭先前关闭的流没有效果。

试试这个:

import java.io.*;
public class Hey
{
    public static void main(String ar[])throws IOException
    {
            File file = new File("c://temp//Hello1.txt");
            // creates the file
            file.createNewFile();
            // creates a FileWriter Object
            FileWriter writer = new FileWriter(file); 
            // Writes the content to the file
            writer.write("Thisn isn ann examplen"); 
            writer.flush();
            writer.close();
    }
}

请试试:

  try
    {
        FileWriter fileWriter = new FileWriter("C:\temp\test.txt");
        fileWriter.write("Hi this is sasi This test writing");
        fileWriter.append("test");
        fileWriter.flush(); // empty buffer in the file
        fileWriter.close(); // close the file to allow opening by others applications
    }
    catch(IOException ioException)
    {
        ioException.printStackTrace();
    }

相关内容

  • 没有找到相关文章

最新更新