java - 尝试写入文件时出现 FileNotFound 异常

标签 java file exception filenotfoundexception

好的,我觉得这应该很容易,但显然缺少用 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/

相关文章:

java - 访问java中不在构建路径上的属性文件

exception - 尝试/排除/最终订购

python - Python 中的 BaseException 子类问题

java - 通过 Android 辅助功能服务模拟点击

java - 如何让Rhino运行自定义的javascript setTimeout函数,无尽的eval

file - Scala - 计算具有定义文件扩展名的目录中的文件数

java - 对象序列化的魔法仙女

java - 任务“:app:compileDebugJavaWithJavac”执行失败

java - 使用模型作为 dao 的前端

c - OSX 中 Carbon C 应用程序的异常包装器