【发布时间】:2017-05-06 00:55:25
【问题描述】:
Sonar 给出了一个错误,提示应该关闭这个 FileOutputStream。我需要修改以下代码以使用try-with-resources。我该怎么做?
public void archivingTheFile(String zipFile){
byte[] buffer = new byte[1024];
try{
FileOutputStream fos = new FileOutputStream(zipFile);
ZipOutputStream zos = new ZipOutputStream(fos);
for(String file : this.fileList){
ZipEntry ze= new ZipEntry(file);
zos.putNextEntry(ze);
FileInputStream in = new FileInputStream(SOURCE_FOLDER + File.separator + file);
int len;
while ((len = in.read(buffer)) > 0) {
zos.write(buffer, 0, len);
}
in.close();
}
zos.closeEntry();
zos.close();
}catch(IOException ex){
LOGGER.error("Exception occurred while zipping file",ex);
}
}
【问题讨论】:
-
我改写了问题以使其清楚,我添加了标签,并改进了标题
标签: java sonarqube java-io try-with-resources