我试图了解我正在制作的一个小程序的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 (); } }
如果该目录不存在,则需要创建它。Java不会自己创建它,因为File该类只是到一个实体的链接,而该实体也根本不存在。
File
如你所述,错误是无法创建文件。如果你阅读PrintWriter构造函数的文档,则可以看到
FileNotFoundException-如果给定的字符串不表示现有的可写常规文件,并且无法创建该名称的新常规文件,或者在打开或创建文件时发生其他错误
你应该尝试为其之前包含的文件夹创建路径:
File file = new File("C:/Users/Me/Desktop/directory/file.txt"); file.getParentFile().mkdirs(); PrintWriter printWriter = new PrintWriter(file);