在java中写入文件

时间:2013-08-17 01:41:57

标签: java file-io java-io

我正在尝试使用print writer创建和写入java文件 我看了How do I create a file and write to it in 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

3 个答案:

答案 0 :(得分:4)

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

printnothing.close();

答案 1 :(得分:0)

你必须冲洗。

  1. 如果您提供true作为第二个参数,则可以自动刷新 在构造函数中。
  2. 您可以通过拨打flush()手动刷新。
  3. 您可以使用.close()关闭流来隐式刷新。
  4. 您还需要关闭流,以便释放文件。

    1. 您可以在完成后明确调用.close()。
    2. 您可以使用Java 7的try-with-resource功能,并使用以下语法。
    3. 示例:

      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 
      }
      

答案 2 :(得分:0)

您需要调用printnothig.close()(这是您应该做的,假设您不会再使用该对象进行打印)或printnothing.flush()