なぜアップロードしたファイルがサーバから削除できないのですか?

771 ワード

new ZipOutputStream(new FileOutputStream("c:/abc.txt"));

ファイルやストリームを操作するときはそう書かないほうがいいです.finallyでストリームを最終的に閉じることができないので、ファイルを削除するときにIOExceptionがあり、最終的にファイルを削除できません.

public String compressionFiles() {
        ZipOutputStream zosm = null;
		FileOutputStream fosm = null;
		try {
			fosm = new FileOutputStream("c:/abc.txt");
			zosm = new ZipOutputStream(fosm);
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (zosm != null) {
				zosm.close();
			}
			if (fosm != null) {
				fosm.close();
			}
		}
}

このように分けて書くと、すべてのストリームが最後にfinallyで正しく閉じられることを保証することができます.