基本上,正在发生的事情是,您正在创建一个名为的目录
Librarytest.txt,然后尝试创建一个名为同一个东西的新文件,这显然行不通。
所以,而不是…
File file = new File("Library\test.txt");file.mkdir();file.createNewFile();尝试…
File file = new File("Library\test.txt");file.getParentFile().mkdir();file.createNewFile();额外
mkdir如果失败,实际上不会抛出任何异常,这很烦人,所以我会做更多类似的事情…
File file = new File("Library\test.txt");if (file.getParentFile().mkdir()) { file.createNewFile();} else { throw new IOException("Failed to create directory " + file.getParent());}就这样我知道实际的问题是什么…
额外
目录的创建(在这种情况下)将位于您从中运行程序的位置。
例如,您从运行程序
C:MyAwesomJavaProjectsFileTest,该
Library目录将在此目录中创建(即
C:MyAwesomJavaProjectsFileTestLibrary)。在与
.java文件相同的位置创建它通常不是一个好主意,因为稍后您的应用程序实际上可能会捆绑到Jar中。



