好的,我觉得这应该很容易,但显然缺少用 Java 编写文件的一些基本知识。我有这个:
File someFile = new File("someDirA/someDirB/someDirC/filename.txt");
我只想写入文件。然而,虽然 someDirA 存在,但 someDirB(因此 someDirC 和 filename.txt)不存在。这样做:
BufferedWriter writer = new BufferedWriter(new FileWriter(someFile));
抛出 FileNotFoundException
。好吧,呃,不是开玩笑。毕竟我正在尝试创建它。在实例化 FileWriter 对象之前,我是否需要将文件路径分解为组件、创建目录然后创建文件?
最佳答案
您必须先创建上述所有目录。和 here是怎么做到的。您需要创建一个 File代表你想要存在的路径的对象然后调用.mkdirs()在上面。然后确保你create新文件。
final File parent = new File("someDirA/someDirB/someDirC/");
if (!parent.mkdirs())
{
System.err.println("Could not create parent directories ");
}
final File someFile = new File(parent, "filename.txt");
someFile.createNewFile();
关于java - 尝试写入文件时出现 FileNotFound 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2541425/