异常“系统找不到指定的文件”file.createNewFile()

时间:2014-12-07 17:01:35

标签: java file file-io

当我尝试创建文件时,它会给我一个IOException。

  

java.io.IOException:系统找不到指定的路径       在java.io.WinNTFileSystem.createFileExclusively(本机方法)       在java.io.File.createNewFile(未知来源)

我有代码创建设置目录并检查它是否存在。每次运行它时,都会显示“新用户”消息。 以下是制作目录的代码:

f = new File(System.getProperty("user.home") + "AppData\\Local\\DataDude\\pass\\");

这是支票:

if (f.isDirectory()) {
    firstTime = false;
} else {
    firstTime = true;
    f.mkdirs();
}

以下是创建文件的位置:

File f = new File(this.getPassLoc() + user.getText() + ".ser");
if (!f.exists()) {
    f.createNewFile();
} 

getPassLoc()返回f

3 个答案:

答案 0 :(得分:2)

在我的系统上,我为System.getProperty("user.home")和您的文件f获取以下值:

C:\Users\Luke
C:\Users\LukeAppData\Local\DataDude\pass

您错过了AppData之前的反斜杠,或者假设System.getProperty("user.home")以1结尾,因此已登录的用户名和AppData已连接成一个目录名。我不相信这是你想要的。

答案 1 :(得分:0)

而不是使用user.home尝试从主驱动器根目录并从那里向上扩展。有错误说它找不到你想要它保存文件的目录.. 如果您希望错误消失,您需要创建该目录结构,或者您需要让java程序创建目录结构。

f = new File(System.getProperty("user.home") + "AppData\\Local\\DataDude\\pass\\").mkdirs();

执行此操作后,请确保目录位于您需要的位置。

答案 2 :(得分:0)

可能是您没有足够的权限写入该文件夹。