2014-12-13 102 views
0

在下面的代码中,我正在使用方法isExist()检查文件是否存在于特定路径中。问题是这个方法总是返回false,不管文件是否存在。.exists()方法总是返回false

请看看下面的代码,并让我知道我缺少什么。 代码

if (isExist(SYS_CONFIG_PATH, SYS_CONFIG_FILE)) { 
       System.out.println("@SystemConfig->getInstance(): System Configuration File " + SYS_CONFIG_FILE + " exists."); 
       return new File(SYS_CONFIG_PATH + "\\" + SYS_CONFIG_FILE); 
      }else { 
       System.out.println("@SystemConfig->getInstance(): System Configuration File " + SYS_CONFIG_FILE + " is not existing, will be created."); 
       return buildPathAt(SYS_CONFIG_PATH); 
    .... 
    .... 

    private static boolean isExist(String path1, String path2) { 
    // TODO Auto-generated method stub 
    String path = path1 + path2; 
    return new File(path.trim()).exists(); 
} 
+0

使用+与路径看起来非常脆弱(并且容易出错)。你不能使用Paths.get()。 path1和path2之间的逻辑是什么? path2应该在path1内吗?也调试path.trim()值。 – 2014-12-13 15:12:32

回答

2

它只是看起来像SYS_CONFIG_PATHSYS_CONFIG_FILE超过研磨成类似...

C:/用户/温度+ C:/用户/ temp/myfile.txt = C:/ user/tempC:/user/temp/myfile.text

System.out这些SYS_CONFIG_PATHSYS_CONFIG_FILE

您可能能够看到问题在那里。