問題タブ [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.
java - ZipOutputStream : BufferedOutputStream と PrintStream
大きなバイトのチャンクを書き込むために ZipOutputStream を使用したいのですが、何が推奨されますか?
...
または
java - マルチスレッドによる ZipOutputStream への書き込み
問題: 大量のファイル (ファイルのサイズは最大 2GB まで) をダウンロードし、リソースを要求しているクライアントにそれらを zip として送信する必要があります。私はその操作を並列化しようとしていました。現在、私が使用しているライブラリはOutputStream
(私の場合はZipOutputStream
) を入力として取り、ダウンロードしたファイルのコンテンツを ApacheCommons を使用してその出力ストリームに書き込みますIOUtils
。
このアプローチの問題は、すべてが順番に発生することです。1 つのファイルをダウンロードしてから OutputStream に書き込み、新しい zipEntry を作成し、そのエントリを閉じてから次のエントリに進む必要があります。ダウンロード操作を並行して実行したかったのですが、可能であれば書き込みもZipOutputStream
並行して行う必要があります。
誰もこのことに直面したことがありますか?
そのライブラリの署名をダウンロードしたリソースを返すように変更してInputStream
、それらのコンテンツを並行して取得し、それらのストリームごとに新しい ZipEntry を順番に作成することを計画していました。このようにして、少なくともファイルを並行してダウンロードできます。ZipOutStream を作成する方法は次のとおりです。
何かご意見は?
java - Apache POI を使用して MS Excel のセルにユーザー定義オブジェクトを保存する
各行のセルに格納する必要があるユーザー定義オブジェクトがあります。
今のところ、以下のプロセスを使用して値を文字列として保存します。(1.) 文字列をバイト [] に変換 - Base64 デコードを使用 (2.) バイト [] をオブジェクトに変換 - ByteArrayInputStream を使用
これで問題なく動作しますが、Excel のサイズが 800KB から 1.1MB に増加します (たとえば)。そこで、ファイル サイズをさらに縮小するために、ZipOutputStream を使用して byte[] 値を圧縮し、Base64 Encode を使用して String に変換しました。ただし、これにより、ファイルのサイズが 2.2MB にさらに増加します。したがって、圧縮された byte[] 値を処理している場合、Base64 エンコードによってファイルのサイズが大きくなると思います。
ここで何か間違ったことをしている場合/オブジェクトをExcelセルに保存するためのより良いオプションがある場合はお知らせください。PS私は、さらなる目的のために保存されたオブジェクトを読み込んで使用します。
java - Java: Zipinputstream から Zipoutputstream への変換により、「end-of-central-directory signature not found」エラーが発生する
Zip を a から a にコピーしようとしてZipinputstream
いZipoutputstream
ます。
Zipをbyte[]
Oracleデータベースのように保存します。私Zipinputstream
はzipを解凍するために使用し(後でZipを編集したい)、それをに入れてZipoutputstream
新しいものを取得し、byte[]
この配列を使用して後でServletOutputStream
. 新しいファイルを作成すると-なしでZipinputstream
-動作します。しかし、使用するZipinputstream
とエラーが発生します。
これが私のコードです:
android - Android 圧縮ファイル
いくつかの画像が保存されたディレクトリを作成しました。ここで、単一の .zip ファイルとして圧縮するために、次のコードを使用しました。
次のソースからこのコードを取得しました:
このコードを実行すると、指定したディレクトリに指定した名前の .zip ファイルが作成されますが、Android または PC で任意のソフトウェア (winzip など) を使用して開こうとすると、次のエラー メッセージが表示されます。ファイルが壊れているか、有効な zip ファイルではありません」
どんな助けでも大歓迎です。
java - マルチパートzipファイルを作成して読み返す方法は?
バイトを aに適切に圧縮ByteArrayOutputStream
し、 aを使用してそれを読み取るにはどうすればよいByteArrayInputStream
ですか? 私は次の方法を持っています:
このコードを実行すると、下部のアサーションが失敗するのentry.size
は is -1
. 抽出されたエンティティが圧縮されたエンティティと一致しない理由がわかりません。
java - JAVA - FileInputStream で ZipOutptuStream を使用した破損した ZIP ファイル
サーブレット出力ストリームを介して出力する場合、次のコードで破損した zip ファイルが生成されるのはなぜですか? FileOutputStream を使用してローカルで ZIP をディスクに書き込む場合、出力ストリームが破損しているようには見えません。
これはおそらく、ストリームのフラッシュ/クローズの順序に問題がありますか?