ユーザーがファイルを圧縮および解凍できるようにするアプリケーションをAndroidで作成し、パッケージを使用しましたjava.util.zip
。すべてが大丈夫です。速度、ファイルは完全に圧縮され、ディレクトリと一緒に解凍されます。唯一の問題は、アプリケーションが大きなファイル(1GBを超える)を圧縮/解凍できないことです。
問題は私のサイズだと思いbuffer
ます。私が見た他のコードでは、それらのバッファーの値は1024または2048または8192ですが、私のバッファーの値は、選択したファイルのサイズに基づいています(柔軟性を持たせるため)。しかし、ユーザーが大きなファイル(8桁を超えるサイズ)を選択すると、エラーが発生します。ネットやこのサイトで検索しましたが、答えが見つかりません。私の問題はこれに似ています:
今後ともよろしくお願いいたします。:)
編集:
コメントと回答をありがとう。それは本当に大いに役立ちました。Javaでの圧縮/解凍はファイルのサイズを意味すると思っBUFFER
たので、私のプログラムでは、バッファサイズを柔軟にしました(バッファサイズ=ファイルサイズ)。バッファがどのように機能するかを誰かに説明してもらえますか?BUFFER
固定値を使用しても問題がない理由を理解できます。また、バッファサイズが8kかそれ以外の場合は、他の人がはるかに優れていると言っている理由を理解するためにも。どうもありがとう!:)