createNewFile()导致警告消息,如何消除?

时间:2014-06-17 09:29:01

标签: java file warnings

通过使用createNewFile类的File方法和删除方法,我成功地从我的程序生成文件。但是在编译过程之后会出现一条恼人的警告信息。我的问题是如何在不使用@SUPPRESSWARNIGN的情况下删除该警告消息。因为当我检查我的代码时,我看到了由这两种方法引起的可能的错误警告。是的,通过使用@SuppressWarning警告和可能的错误消息消失。

我不知道它是否与Java版本有关,但无论如何我使用的是Java 8.我做了这个问题的研究,在互联网上找不到任何东西。我看到互联网上的人们使用这两种方法的方式与我使用的方式相同。可能是他们忽略了警告信息。但我不想。

这是我的代码:

private void createAFile() throws IOException {

    String outputFileName = getFileName();
    String outputPathName = getFilePath();
    String fullOutputPath = outputPathName + "/" + outputFileName;

    output = new File(fullOutputPath);

    if(output.exists()){

        output.delete(); //this returns a boolean variable.

    }

    output.createNewFile(); //this also return a boolean variable.


}

警告是:

警告:(79,20)忽略'File.delete()'的结果。 警告:(84,16)忽略'File.createNewFile()'的结果。

谢谢

2 个答案:

答案 0 :(得分:10)

如果您想避免这些消息,可以在这些方法返回false时提供案例记录。

像这样的东西

private static Logger LOG = Logger.getLogger("myClassName");
// some code
if (!output.delete()) {
  LOG.info("Cannot delete file: " + output);
}

答案 1 :(得分:5)

这些看起来像是从代码检查工具生成的警告。我会这样做:

boolean deleted,created; // both should be instantiatd to false by default
if(output.exists()){

   deleted = output.delete(); //this returns a boolean variable.
} 
if(deleted){ 
    created = output.createNewFile();
}
if(!deleted||!created){
    // log some type of warning here or even throw an exception
}