繁体   English   中英

Java PrintWriter到文件(在Mac上)不起作用

[英]Java PrintWriter to file (on a mac) not working

我已经在这里阅读了多个线程,但仍然找不到为什么PrintWriter不打印到文件而是抛出java.io.FileNotFoundException 我检查了文件位置,检查了文件路径中的大写/小写。 有人可以告诉我我在做什么错:

    File output = new File("/Users/<myname>/Documents/javaoutput.txt");
    output.getParentFile().mkdir();

    PrintWriter writer = new Printwriter(output);

您不在检查目标目录/Users/<myname>/Documents是否存在,或者创建该目录的尝试是否成功。 如果目标目录不存在,则new PrintWriter()将抛出FileNotFoundException

这样的事情可能会更好:

File output = new File("/Users/<myname>/Documents/javaoutput.txt");
File dir = output.getParentFile();
if (!dir.isDirectory() && !dir.mkdirs()) {
    // handle could not create directory
    throw new SomeException("Could not create target directory '" + dir + "'");
}
PrintWriter writer = new Printwriter(output);

我在这里使用mkdirs()而不是mkdir()来创建整个目录路径( /Users/Users/<myname>/Users/<myname>/Documents )。 您应确定程序无法创建目录时应采取的措施,并为该情况添加正确的代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM