UF.ZIP
UF (Use Freed) 指摘は、リソースが解放された後にリソースを使用する試みがある場合に報告されます。警告 UF.ZIP は、ZipFile が閉じられた後にこの ZipFile の使用を試みていることを示します。
例 1
コピー
public static final void copy(InputStream in, OutputStream out) throws IOException {
byte[] buffer = new byte[1024];
int len;
while ((len = in.read(buffer)) >= 0) {
out.write(buffer, 0, len);
}
in.close();
out.close();
}
public final void unzip(final ZipFile zipFile) {
Enumeration entries;
entries = zipFile.entries();
try {
while (entries.hasMoreElements()) {
ZipEntry entry = (ZipEntry) entries.nextElement();
if (entry.isDirectory()) {
final File dir = new File(entry.getName());
dir.mkdir();
} else {
try {
copy(zipFile.getInputStream(entry), new FileOutputStream(entry.getName()));
} catch (IOException e) {
zipFile.close();
}
}
}
zipFile.close();
} catch (IOException e) {
// do nothing
}
}
UF.ZIP が 43 行目のスニペットについて報告されています。IOException の場合、45 行目で 'zipFile' が閉じられますが、次回のサイクルの繰り返し時に、'zipFile' にアクセスしようと試みられます。