>我被困了几个小时,因为在我的条件循环中,.isFile或.exist方法总是返回false..即使文件确实存在。
我想知道是否可能是我在初始化时传递给我的文件的字符串以某种方式被覆盖......但事实并非如此,正如我所怀疑的那样。
事实证明,.isFile和.exists()方法查看的目录或路径是
C:UsersMyComputerNameworkspaceNameOfMyJavaProject
目录。
这是存储我所有资料的默认设置。所以这一切都点击了,为什么我的布尔变量总是返回 false 并允许创建相同的命名文件是有道理的。因为它会查看我上面发布的目录,而不是我创建文件的位置。因为我在F:
驱动器中创建了文件。
我该怎么做才能让 .isFile() 和 .exists() 方法查看我的F:
驱动器?
Boolean exists = new File("F:testFile.txt").exists();
对我来说,这没有多大意义,但无论如何我都会试一试。
.exists
和.isFile
方法并非始终引用单个点,它是已设置为的文件。
File f = new File("C:FileOne.txt");
if(f.exists())
System.out.println("FileOne Exists at " + f.getAbsolutePath());
我解决了这个问题。麦基帮了我很多忙。
当我创建名为 checkFile
的 File
对象时,仅通过以下方式返回true
或false
boolean yesOrNo = checkFile.isFile();
我简单地创建了它File checkFile = new File():
解决方案是执行以下操作
创建文件变量为File checkFile = new File("F:\");
基本上,当我创建 checkFile 对象时,它默认为我所有 Java 项目所在的位置,这与我的文件不同,它是在特定位置创建的。
我所要做的就是更改创建 File 对象的方式。
我知道我的解释很奇怪,所以如果任何人,几个月或几年后需要我澄清这一点,只需碰碰线程,如果需要,我会确保与您一对一交谈。
再次感谢Makky和其他所有插话的人。