0

我被困了几个小时,因为在我的条件循环中, .isFile 或 .exists 方法总是返回 false .. 即使文件确实存在。

我想知道它是否可能是我在初始化时传递给我的文件的字符串被某种方式覆盖了......但事实并非如此,正如我所怀疑的那样。

事实证明 .isFile 和 .exists() 方法查看的目录或路径是

C:\Users\MyComputerName\workspace\NameOfMyJavaProject\目录。

这是存储我所有东西的默认设置。所以这一切都点击了,为什么我的布尔变量总是返回 false 并允许创建相同的命名文件是有道理的。因为它会查看我在上面发布的目录,而不是我创建文件的位置。因为我有在我的F:\驱动器中创建的文件。

我该怎么做才能让 .isFile() 和 .exists() 方法查看我的F:\驱动器?

4

3 回答 3

2
Boolean exists = new File("F:\testFile.txt").exists();
于 2013-11-03T10:28:45.137 回答
1

对我来说这没有多大意义,但无论如何我都会去。

.existsand.isFile方法并不总是引用一个点,它是它被设置到的文件。

File f = new File("C:\FileOne.txt");
if(f.exists())
    System.out.println("FileOne Exists at " + f.getAbsolutePath());
于 2013-11-03T10:29:10.717 回答
0

我解决了这个问题。Makky 帮了我很多忙。

当我创建File对象时调用checkFile只返回一个truefalse通过

boolean yesOrNo = checkFile.isFile();

我简单地创建了它File checkFile = new File():

解决方案是执行以下操作

创建文件变量为File checkFile = new File("F:\\");

基本上,当我创建 checkFile 对象时,它默认为我所有的 java 项目所在的位置,这与我的文件不同,它是在特定位置创建的。

我所要做的就是改变我创建 File 对象的方式。

我知道我的解释很奇怪,所以如果有人,几个月或几年后需要我来澄清这一点,只需敲击线程,如果需要,我会确保与你一对一交谈。

再次感谢 Makky 和其他所有参与进来的人。

于 2013-11-03T11:13:54.283 回答