通过使用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()'的结果。
谢谢
答案 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
}