0

我正在尝试使用打印编写器创建和写入 java 文件。
我查看了如何在 Java 中创建文件并写入文件? 我无法写入文件。该文件已创建但没有文本有人可以告诉我我错过了什么吗?
谢谢

static void createFile() throws FileNotFoundException{
    String filename = "nothign.txt";
    FileOutputStream connection1;
    connection1 = new FileOutputStream( filename );
    PrintWriter printnothing = null;

    printnothing = new PrintWriter(connection1);
    printnothing.printf("/nnewline writesomething/n exo");
    printnothing.println("trying to write something");
}// createFile Method
4

3 回答 3

4

我相信您需要关闭 PrintWriter 才能将内容刷新到文件中。尝试将此添加到代码的末尾:

printnothing.close();
于 2013-08-17T01:43:32.643 回答
0

你必须冲洗。

  1. true如果您在构造函数中作为第二个参数提供,您可以自动刷新。
  2. 您可以通过调用手动刷新flush()
  3. 您可以通过使用 关闭流来隐式刷新.close()

您还需要关闭流以释放文件。

  1. 完成后,您可以通过显式调用 .close() 来做到这一点。
  2. 您可以使用以下语法利用 Java 7 的 try-with-resource 功能。

例子:

try (PrintWriter printnothing = new PrintWriter(new FileOutputStream("nothign.txt"))) {
     printnothing.printf("stuff"); 
     printnothing.println("stuff");
} catch(IOException e) { 
     e.printStacktrace(); // We don't have to close it here, and neither do have to in a finally block - it's handled for us 
}
于 2013-08-17T01:45:29.163 回答
0

您需要调用任何一个printnothig.close()(假设您不会使用该对象再次打印,您应该这样做)或printnothing.flush()

于 2013-08-17T01:45:42.733 回答