爪哇 - IOException异常:系统找不到指定的路径
问题描述:
import java.io.File;
import java.io.IOException;
public class TestFile {
public static void main(String[] args) {
String separator = File.separator;
String filename = "myFile.txt";
String directory = "mydir1" + separator + "mydir2";
File f = new File(directory,filename);
if (f.exists()) {
System.out.print("filename:" + f.getAbsolutePath());
System.out.println("filesize:" + f.length());
} else {
f.getParentFile().getParentFile().mkdir();
try{
f.createNewFile();
}catch (IOException e) {
e.printStackTrace();
}
}
}
}
我所要做的是创建该文件夹下的“mydir1”文件“MYFILE.TXT”,但控制台说:“该系统找不到指定的路径” ,有人能告诉我我哪里做错了吗?提前致谢。爪哇 - IOException异常:系统找不到指定的路径
答
它看起来像你只创建mydir1
而不是mydir2
。
我可以建议,而不是
f.getParentFile().getParentFile().mkdir();
尝试类似:
f.getParentFile().mkdirs();
File.mkdirs将尝试创建所有必需的parrent目录。
这是一种在mydir1中创建文件的无比复杂的方式。为什么还要用'mydir2'?你的堆栈跟踪会给你很多信息**(应该包含在你的问题中!)**。我怀疑'f.getParentFile()。getParentFile()。mkdir();'是导致问题的原因,但由于您有3个操作,因此可能不清楚哪一个是问题。 Instinct告诉我“我怎么能得到一个不存在的文件的父母?”,但这可能只是我的可疑性质,缺乏最近的Java IO工作;-) – John3136
父目录是否存在? – haifzhan