首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >异常“系统找不到指定的文件”file.createNewFile()

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

Stack Overflow用户
提问于 2014-12-07 17:01:35
回答 3查看 10.4K关注 0票数 0

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

java.io.WinNTFileSystem.createFileExclusively(Native :系统无法在java.io.File.createNewFile(未知源)处找到在java.io.File.createNewFile方法中指定的路径

我有生成设置目录的代码,并检查它是否在那里。每次我运行它时,它都会显示"New User“消息。下面是生成目录的代码:

代码语言:javascript
复制
f = new File(System.getProperty("user.home") + "AppData\\Local\\DataDude\\pass\\");

这是支票:

代码语言:javascript
复制
if (f.isDirectory()) {
    firstTime = false;
} else {
    firstTime = true;
    f.mkdirs();
}

这里是它创建文件的地方:

代码语言:javascript
复制
File f = new File(this.getPassLoc() + user.getText() + ".ser");
if (!f.exists()) {
    f.createNewFile();
} 

(getPassLoc()返回f)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-07 17:41:15

在我的系统中,我得到了System.getProperty("user.home")和文件f的以下值

代码语言:javascript
复制
C:\Users\Luke
C:\Users\LukeAppData\Local\DataDude\pass

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

票数 2
EN

Stack Overflow用户

发布于 2014-12-07 17:37:36

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

代码语言:javascript
复制
f = new File(System.getProperty("user.home") + "AppData\\Local\\DataDude\\pass\\").mkdirs();

一旦您这样做,请通过并确保目录在您想要的位置。

票数 0
EN

Stack Overflow用户

发布于 2018-12-11 13:58:46

在这种情况下,您可能没有足够的权限来写入该文件夹。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27345197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档