java 资源泄露问题
来源:百度知道 编辑:UC知道 时间:2024/05/26 13:20:38
public boolean writeBlockComment(String theComment) {
rawData.add(BuildingBlock.comment+theComment);
return true;
}
/** Writes the buildingBlock data to a file.
* @param fileName File to write. Overwrites existing files.
* @return Returns true on success.
*/
public boolean writeBlockFile(String fileName) {
File file = new File(fileName);
if (file.exists()) {
if (!file.delete()) {
System.err.println("Unable to delete file...(so I could re-write it)"); //$NON-NLS-1$
return false;
}
}
try {
// file.createNewFile();
BufferedWriter out = new BufferedWriter(new FileWriter(file));
for (int c = 0; c < rawData.size(); c++) {
rawData.add(BuildingBlock.comment+theComment);
return true;
}
/** Writes the buildingBlock data to a file.
* @param fileName File to write. Overwrites existing files.
* @return Returns true on success.
*/
public boolean writeBlockFile(String fileName) {
File file = new File(fileName);
if (file.exists()) {
if (!file.delete()) {
System.err.println("Unable to delete file...(so I could re-write it)"); //$NON-NLS-1$
return false;
}
}
try {
// file.createNewFile();
BufferedWriter out = new BufferedWriter(new FileWriter(file));
for (int c = 0; c < rawData.size(); c++) {
catch完后加个finally,在里面写out.flush();
out.close();
因为finally里的东西不管try里是否实现都会执行,不会泄漏
没有
IO流的设计是包裹模式。。。关掉最外面的就等于全关了
应该在Finally里面关,否则文件没有关闭,