如何在Java中使用PrintWriter和File类?

2022-08-31 17:15:18

我试图为我正在制作的一个小程序理解PrintWriter,我似乎无法让java制作文件,然后在上面写。当我执行下面的程序时,它会在第9行上给我一个Filenotfoundexeption错误。它也无法在我指定的目录中创建文件。我是新手,所以请尽量保持答案简单。我正在使用Eclipse。

import java.io.PrintWriter;
import java.io.File;

public class Testing {

  public static void main(String[] args) {

    File file = new File ("C:/Users/Me/Desktop/directory/file.txt");
    PrintWriter printWriter = new PrintWriter ("file.txt");
    printWriter.println ("hello");
    printWriter.close ();       
  }
}

答案 1

如果该目录不存在,则需要创建它。Java不会自己创建它,因为该类只是指向实体的链接,该实体也根本不可能存在。File

如前所述,错误是无法创建文件。如果您阅读PrintWriter构造函数的文档,您可以看到

FileNotFoundException - 如果给定的字符串不表示现有的可写常规文件,并且无法创建该名称的新常规文件,或者在打开或创建文件时发生其他错误

您应该尝试为它包含的文件夹创建路径:

File file = new File("C:/Users/Me/Desktop/directory/file.txt");
file.getParentFile().mkdirs();

PrintWriter printWriter = new PrintWriter(file);

答案 2
import java.io.PrintWriter;
import java.io.File;

public class Testing {

  public static void main(String[] args) throws IOException {

    File file = new File ("C:/Users/Me/Desktop/directory/file.txt");
    PrintWriter printWriter = new PrintWriter ("file.txt");
    printWriter.println ("hello");
    printWriter.close ();       
  }
}

为文件引发异常。


推荐