2014-12-13 72 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

您可能能夠看到問題在那裏。