【问题标题】:Checking if file exists Java [closed]检查文件是否存在Java [关闭]
【发布时间】:2017-02-22 02:38:51
【问题描述】:

我正在尝试检查是否存在 Hashmap 文件。该文件已创建并显示在我在 Eclipse 中的默认包中。如果它存在,我将在 hashmap 中读取,如果它不存在,我想创建一个新文件。目前,由于某种原因,代码没有看到创建的文件。

public UrlCache() throws UrlCacheException {
    File hmFile = new File(System.getProperty("user.dir") + "\\hashMapFile.properties");
    System.out.println("Working Directory = "+ hmFile);


    if(hmFile.exists()) { 
        System.out.println("File Exists");
    }
    else{
    System.out.println("File does not exist");
    }
}

【问题讨论】:

  • 我猜你default package in EclipseSystem.getProperty("user.dir")不一样

标签: java file exists


【解决方案1】:

你不需要通过exists()方法显式检查文件是否存在,createNewFile()方法就可以了,

createNewFile() 将创建一个新文件,如果它不存在并返回 true,但如果该文件存在 createNewFile() 将返回 false

File f = new File(System.getProperty("user.dir") + "\\hashMapFile.properties");
if(f.createNewFile()) {
   System.out.println("Created new Hashmap file");
}

这里就不写else部分了,因为按照你说的要求是不需要的。

【讨论】:

  • 2 个问题。 f.createNewFile() 似乎需要一个 IOException,如果我添加它,它还需要在主类中抛出它。第二个问题是它不起作用。没有创建文件。
  • 在使用 IO 时,您需要处理一些异常来处理负面情况。对于您的第二个问题,您应该查找您尝试保存 hashMapFile.properties 文件的路径,这可能是错误的,只需尝试传递一些硬编码路径,例如 File f = new File("/home/local/naresh. j" + "/hashMapFile.properties")
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-06
  • 1970-01-01
  • 2013-02-20
相关资源
最近更新 更多