java - file.createNewFile()IOException"没有这样的文件或目录"

时间:2014-10-07 15:03:32

标签: java ioexception

编码Java时遇到了这个问题:file.createNewFile()抛出IOException"没有这样的文件或目录"。检查出其他答案,但似乎没有任何帮助。有什么想法吗?..

4 个答案:

答案 0 :(得分:8)

可能是您尝试在不存在的目录中创建文件。

首先使用mkdirs()创建任何缺少的父目录。

File file = new File("foo/bar.txt")
file.getParentFile().mkdirs();
file.createNewFile();

答案 1 :(得分:2)

我认为您正在尝试在不存在的目录中创建新文件。整个路径需要存在,只有文件可以不存在。

答案 2 :(得分:2)

哦,我明白了。它似乎比Java更多的Windows问题。实际上,即使UAC被禁用,随机应用程序仍无权在Win8上的C :(或系统上的任何内容)上写一些内容。但是从来没有使用过Win7这个问题。使用"以管理员身份运行"在IDE上没有帮助,因为它没有给Java编译器这样的权限。所以,我只是将我的项目文件夹移动到其他磁盘。此外,您可以更改访问权限,但对我来说更容易。是的,没有人提到在其他问题中发生这种情况的可能性,所以我希望它对任何人都有帮助。

答案 3 :(得分:1)

您需要先创建文件夹。 createNewFile无法创建它们:

File folderFile = new File("c:\\this\\folder\\has\\subfolders");
folderFile.mkdirs();

File myFile = new File(folderFile,"myfile.txt");
myFile.createNewFile();