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
?或者是否需要手動關閉它們?關閉嵌套流還會關閉其父流?
你也應該小心*總是*關閉最外面的流;否則你可能會由於包裝流中的未刷新緩衝區而導致數據丟失,因爲它們的包裝流在它們的鼻子下被關閉。 –