OutputStream fos;
OutputStream bos;
OutputStream zos;
try {
fos = new FileOutputStream(anyFile);
bos = new BufferedOutputStream(fos);
zos = new ZipOutputStream(bos);
} finally {
if (zos != null) {
zos.close(); // + exception handling
}
}
閉じるzos
は自動的にbos
とfos
を閉じますか、または手動で閉じる必要がありますか?ネストしたストリームを閉じると、その親ストリームも閉じますか?
また、最外ストリームを常に*閉じる*に注意する必要があります。そうしないと、ラップされたストリームが鼻の下で閉じられたラッパーストリーム内のバッファがフラッシュされていないためにデータが失われる可能性があります。 –