- - PR -
0バイトファイルを含む複数ファイルの圧縮について
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-11-16 17:56
はじめまして。
表記の件で行き詰ってます、教えてください。 複数のファイルを圧縮しています。 圧縮の際に1ファイルずつバイト数をバッファに読み込んでいきますが、 圧縮対象のファイルに0バイトファイルがあった場合に 次のエラーが出て、圧縮できません。 -------------------------------- java.lang.NullPointerException java.lang.IllegalArgumentException: Buffer size <= 0 -------------------------------- File file = new File(zipfile); //zipfileは圧縮対象のファイルです。 int len = (int)file.length(); FileInputStream fis = new FileInputStream(zipfile); BufferedInputStream bis = new BufferedInputStream(fis, len); bis.read(buf, 0,len ); ↑このbis.read(buf, 0,len ); で上記のエラーが出ます。 仕様上、空ファイルがあるときとないときがあり、 空ファイルであっても毎回同じファイル数で圧縮を行いたいのですが、 どうすればよいのでしょうか? ご教示ください。 よろしくお願いいたします。 | ||||||||||||
|
投稿日時: 2004-11-16 18:33
とりあえず adhoc な解決で良いのでしたら
| ||||||||||||
|
投稿日時: 2004-11-16 19:36
ありがとうございました。
無事うまくいきました。 Math.maxを使うなど考えつきませんでした。 また、APIリファレンスでreadメソッドばかり読んで BufferedInputstreamの詳細を読んでませんでした。 勉強になりました。 どうもありがとうございました。 |
1