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