Java不知道文件何时不存在

时间:2011-05-09 04:51:36

标签: java file exists

Java知道文件何时存在,因为它打印出“找到文件”,但是当文件不存在时,它不会打印“找不到文件”

    File file = new File(filePath, "Test_1.exe");

    if (file.exists()){
        System.out.println("File found");
    }else{
        System.out.println("File not found");
    }

有人知道为什么吗?文件路径是正确的,因为我已经仔细检查了这一点。奇怪的是,如果文件不存在,它将不会打印出来,但如果确实如此。

我也试过if(!file.exists())但运气不好!

2 个答案:

答案 0 :(得分:2)

尝试

try
{
    File file = new File(filePath, "Test_1.exe");

     if (file.exists())
     {
          System.out.println("File found");
     }
     else
     {
            System.out.println("File not found");
      }
}
catch(SecurityException se)
{
     se.printStackTrace();
}

答案 1 :(得分:0)

尝试使用文件的完整路径。例如:

File file = new File(filePath, "c:/temp/Test_1.exe");

来自javadocs:

  相反,相对路径名必须根据从其他路径名获取的信息进行解释。默认情况下,java.io包中的类始终解析当前用户目录的相对路径名。此目录由系统属性user.dir命名,通常是调用Java虚拟机的目录。