1

私は次のコードを持っています-

ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ZipOutputStream zos = new ZipOutputStream(outputStream);

for (int i = 0; i < params.getGrades().size(); i++) {
generateReport(param1, param2, zos);
}

zos.flush();
zos.close();

generateReportメソッドには、レポートをxlsファイルとして生成してZIPに追加するコードがあります。

ZIPファイルにファイルが書き込まれているかどうか、またはZIPファイルが空かどうかを確認する方法はありますか?使用できる物件はありますか?

ありがとう、ラーズ

4

5 に答える 5

3

java.util.zipパッケージのZipFileを使用できます。

あなたは呼び出すことができます

size()

方法。

于 2012-06-29T08:40:05.103 に答える
2

閉じた後zos, outputStream.size()、書き込まれたバイト数が表示されます。空のZIPファイルのZIPヘッダーサイズを考慮に入れる必要があります。

于 2012-06-29T09:56:23.493 に答える
0

@ Raaz、このリンクを通過してください。

その中で、「ZipEntry」と呼ばれるクラスを見ることができます。zipフォルダーに含まれるファイルを表します。次のような便利な方法を提供します。

zipEntry.getName(); // name of the file contained by zip.
zipEntry.getSize(); // size of the file contained by zip.
于 2012-06-29T08:52:41.743 に答える
0

@Didier-私は値を返すことについてあなたのアドバイスをとることに決めました、しかしそれをこのようにすることになりました-

ファイルがZIPに追加されているかどうかを確認する代わりに、xlsファイル(ZIPに追加されるファイル)に書き込もうとしているリストデータが空かどうかを確認しました。空の場合は、エラー値を「ファイルが生成されません」に設定します。リストが空でない場合は、文字列に空の値を割り当てて、呼び出し元の関数に返しました。

于 2012-07-02T04:00:39.223 に答える