Java-IOException:系统找不到指定的路径

Java-IOException:系统找不到指定的路径,java,Java,我想做的是在文件夹“mydir1”下创建文件“myFile.txt”,但是控制台说“系统找不到指定的路径”,有人能告诉我哪里做错了吗?提前感谢。看起来您只创建了mydir1,而不是mydir2 我可以建议代替 import java.io.File; import java.io.IOException; public class TestFile { public static void main(String[] args) { String separat

我想做的是在文件夹“mydir1”下创建文件“myFile.txt”,但是控制台说“系统找不到指定的路径”,有人能告诉我哪里做错了吗?提前感谢。

看起来您只创建了
mydir1
,而不是
mydir2

我可以建议代替

    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();
            }
        }
    }
}
尝试以下方法:

f.getParentFile().getParentFile().mkdir();

将尝试创建所有必需的文件目录。

这是在
mydir1
中创建文件的一种非常复杂的方法。为什么还要为mydir2而烦恼呢?堆栈跟踪将为您提供大量信息(这些信息应该包含在您的问题中!)。我怀疑
f.getParentFile().getParentFile().mkdir()会导致问题,但由于您有3个操作,因此可能不清楚哪一个是问题所在。本能告诉我“我怎样才能得到一个不存在的文件的父文件?”,但这可能是我的怀疑天性和最近Java IO工作的缺乏;-)父目录是否存在?因此,如果我想在指定的目录中创建一个新文件,那么我必须找到与我放入文件f=new file(目录,文件名)中的目录路径完全相同的目录路径,否则我无法通过f.getParentFile().getParentFile().mkdir()更改路径,对吗?对不起,我的英语不好,希望你理解我的意思,你将无法在不存在的目录中创建文件。你应该先创建目录结构。好的,现在我明白了。谢谢你的解释。
f.getParentFile().mkdirs();