3 回答

TA贡献1836条经验 获得超13个赞
如果该目录不存在,则需要创建它。Java不会自己创建它,因为File该类只是到一个实体的链接,而该实体也根本不存在。
如您所述,错误是无法创建文件。如果您阅读PrintWriter构造函数的文档,则可以看到
FileNotFoundException-如果给定的字符串不表示现有的可写常规文件,并且无法创建该名称的新常规文件,或者在打开或创建文件时发生其他错误
您应该尝试为其之前包含的文件夹创建路径:
File file = new File("C:/Users/Me/Desktop/directory/file.txt");
file.getParentFile().mkdirs();
PrintWriter printWriter = new PrintWriter(file);

TA贡献2011条经验 获得超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 ();
}
}
引发文件异常。

TA贡献1963条经验 获得超6个赞
import java.io.File;
import java.io.PrintWriter;
public class Testing
{
public static void main(String[] args)
{
File file = new File("C:/Users/Me/Desktop/directory/file.txt");
PrintWriter printWriter = null;
try
{
printWriter = new PrintWriter(file);
printWriter.println("hello");
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
finally
{
if ( printWriter != null )
{
printWriter.close();
}
}
}
}
添加回答
举报