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())但运气不好!
答案 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虚拟机的目录。