問題タブ [zipoutputstream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
602 参照

java - ZipOutputStream : BufferedOutputStream と PrintStream

大きなバイトのチャンクを書き込むために ZipOutputStream を使用したいのですが、何が推奨されますか?

...

または

0 投票する
0 に答える
2052 参照

java - マルチスレッドによる ZipOutputStream への書き込み

問題: 大量のファイル (ファイルのサイズは最大 2GB まで) をダウンロードし、リソースを要求しているクライアントにそれらを zip として送信する必要があります。私はその操作を並列化しようとしていました。現在、私が使用しているライブラリはOutputStream(私の場合はZipOutputStream) を入力として取り、ダウンロードしたファイルのコンテンツを ApacheCommons を使用してその出力ストリームに書き込みますIOUtils

このアプローチの問題は、すべてが順番に発生することです。1 つのファイルをダウンロードしてから OutputStream に書き込み、新しい zipEntry を作成し、そのエントリを閉じてから次のエントリに進む必要があります。ダウンロード操作を並行して実行したかったのですが、可能であれば書き込みもZipOutputStream並行して行う必要があります。

誰もこのことに直面したことがありますか?

そのライブラリの署名をダウンロードしたリソースを返すように変更してInputStream、それらのコンテンツを並行して取得し、それらのストリームごとに新しい ZipEntry を順番に作成することを計画していました。このようにして、少なくともファイルを並行してダウンロードできます。ZipOutStream を作成する方法は次のとおりです。

何かご意見は?

0 投票する
0 に答える
167 参照

java - Apache POI を使用して MS Excel のセルにユーザー定義オブジェクトを保存する

各行のセルに格納する必要があるユーザー定義オブジェクトがあります。

今のところ、以下のプロセスを使用して値を文字列として保存します。(1.) 文字列をバイト [] に変換 - Base64 デコードを使用 (2.) バイト [] をオブジェクトに変換 - ByteArrayInputStream を使用

これで問題なく動作しますが、Excel のサイズが 800KB から 1.1MB に増加します (たとえば)。そこで、ファイル サイズをさらに縮小するために、ZipOutputStream を使用して byte[] 値を圧縮し、Base64 Encode を使用して String に変換しました。ただし、これにより、ファイルのサイズが 2.2MB にさらに増加し​​ます。したがって、圧縮された byte[] 値を処理している場合、Base64 エンコードによってファイルのサイズが大きくなると思います。

ここで何か間違ったことをしている場合/オブジェクトをExcelセルに保存するためのより良いオプションがある場合はお知らせください。PS私は、さらなる目的のために保存されたオブジェクトを読み込んで使用します。

0 投票する
1 に答える
3575 参照

java - Java: Zipinputstream から Zipoutputstream への変換により、「end-of-central-directory signature not found」エラーが発生する

Zip を a から a にコピーしようとしてZipinputstreamZipoutputstreamます。

Zipをbyte[]Oracleデータベースのように保存します。私Zipinputstreamはzipを解凍するために使用し(後でZipを編集したい)、それをに入れてZipoutputstream新しいものを取得し、byte[]この配列を使用して後でServletOutputStream. 新しいファイルを作成すると-なしでZipinputstream-動作します。しかし、使用するZipinputstreamとエラーが発生します。

これが私のコードです:

0 投票する
2 に答える
98 参照

android - Android 圧縮ファイル

いくつかの画像が保存されたディレクトリを作成しました。ここで、単一の .zip ファイルとして圧縮するために、次のコードを使用しました。

次のソースからこのコードを取得しました:

このコードを実行すると、指定したディレクトリに指定した名前の .zip ファイルが作成されますが、Android または PC で任意のソフトウェア (winzip など) を使用して開こうとすると、次のエラー メッセージが表示されます。ファイルが壊れているか、有効な zip ファイルではありません」

どんな助けでも大歓迎です。

0 投票する
2 に答える
5274 参照

java - マルチパートzipファイルを作成して読み返す方法は?

バイトを aに適切に圧縮ByteArrayOutputStreamし、 aを使用してそれを読み取るにはどうすればよいByteArrayInputStreamですか? 私は次の方法を持っています:

このコードを実行すると、下部のアサーションが失敗するのentry.sizeは is -1. 抽出されたエンティティが圧縮されたエンティティと一致しない理由がわかりません。

0 投票する
2 に答える
1425 参照

java - JAVA - FileInputStream で ZipOutptuStream を使用した破損した ZIP ファイル

サーブレット出力ストリームを介して出力する場合、次のコードで破損した zip ファイルが生成されるのはなぜですか? FileOutputStream を使用してローカルで ZIP をディスクに書き込む場合、出力ストリームが破損しているようには見えません。

これはおそらく、ストリームのフラッシュ/クローズの順序に問題がありますか?