程序不应依赖于finalize()回收文件句柄资源,应在finally代码块中手动释放文件句柄资源。
例如:下面代码片段中,使用完之前创建的文件句柄zFile后,在finally代码块中进行了释放。
public void getZipContents(String fileName){ZipFile zFile = null;try {zFile = new ZipFile(fileName);...} catch (IOException e) {e.printStackTrace();}finally{if(zFile!=null){try {zFile.close();} catch (IOException e) {e.printStackTrace();}}}}
