我的 java 程序一直认为每个新文件不是文件而是文件夹。
我一直在寻找错误,现在它不允许我使用 FileWriter
保存文件。如果我创建一个新文件,然后检查它是一个文件还是一个目录,它说它是一个目录。
我最初创建了一条很长的路径,所以我去掉了它。我也曾经在一个单独的线程中完成写作,并且也摆脱了它,但问题仍然存在。
如果我创建一个新类,只需一个简单的
java.io.File file = new java.io.File("test.csv");
output.print(file.isDirectory());
这是真的。
不过,我仍然可以使用 javax.imageio.* 保存图形。
有人能帮忙吗?
编辑:我正在使用 eclispe 3.7.2 和 java 1.7.0... File.isFile() 为假,File.createNewFile() 失败(java.io.FileNotFoundException(拒绝访问))。在我指定的目录中查找时,那里有一个名为 test.csv 的新文件夹。所以它正在创建一个新文件夹,并将其视为一个文件夹,尽管我指定它是一个 csv 文件。我试过其他文件类型,甚至没有文件类型。但同样的问题。它认为它是一个文件夹而不是一个文件。这让我很困惑。
最佳答案
Java 的 new File()
不会自行创建文件或目录。所以你应该展示你的代码。我怀疑您在某处有类似 file.mkdirs();
的东西 - 如果此时您的 file
指的是“test.csv”,它将 创建一个名为“test.csv”的目录
关于java认为新文件是文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12473076/