【初心者】 Java質問・相談スレ28 【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0032デフォルトの名無しさん
NGNGutil.zipを使いテキストが圧縮されてると初めから想定された
ZIPファイルを展開しつつ、新しいテキストファイルを作り
そこに書き出すという以下のような処理をしています。
ZipIntputStream zi = new ZipInputStream(new FileInputStream(InFile));
File OutFile = new File(出力ファイル名);
ZipEntry ze;
int buf_size = 512;
byte[] buf = new byte[buf_size];
ze = zi.getNextEntry(); // 初めのエントリを明示
BufferedInputStream bi = new BufferedInputStream(zi, buf_size);
BufferedOutputStream bo = new BufferedOutputStream(new FileOutputStream(OutFile));
while(bi.available() != 0 && (bi.read(buf,0,buf_size)) != -1)
bo.write(buf,0,buf_size);
bo.close();
bi.close();
zi.close();
これで圧縮を展開しながらファイルを書き出しているのですが
1000行程度のファイルを実行したところ全く問題がなかったのですが
10000行を越えたファイルを扱った途端、すべてのデータを吐き出し終えた後に
ゴミデータが数行付加されるような現象が起こり、一向に取り除けません。
解決するにはどうしたらよいのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています