【问题标题】:.exists() method always returns false.exists() 方法总是返回 false
【发布时间】:2014-12-13 15:08:46
【问题描述】:

在下面的代码中,我使用isExist() 方法检查文件是否存在于特定路径中。问题是无论文件是否存在,此方法总是返回 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();
}

【问题讨论】:

  • 在路径中使用 + 看起来很脆弱(而且容易出错)。您不能使用 Paths.get()。 path1和path2之间的逻辑是什么? path2 应该在 path1 内吗?也调试 path.trim() 值。

标签: java file-io


【解决方案1】:

看起来只是 SYS_CONFIG_PATHSYS_CONFIG_FILE 重叠成类似...

C:/user/temp + C:/user/temp/myfile.txt = C:/user/tempC:/user/temp/myfile.text

System.out 这些 SYS_CONFIG_PATHSYS_CONFIG_FILE

您也许可以在那里看到问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 2020-04-19
    • 1970-01-01
    • 1970-01-01
    • 2015-06-09
    相关资源
    最近更新 更多