問題タブ [zipinputstream]

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 投票する
5 に答える
18201 参照

java - ZipInputStreamをInputStreamに変換するにはどうすればよいですか?

ZipInputSreamがbyte[]に変換されるコードがありますが、それをinputstreamに変換する方法がわかりません。

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

java - ZipInputStream の操作

現在、オンライン ファイルへのリンクを送信し、すべてのダウンロードの進行状況を追跡できるダウンロード マネージャー (DLManager) を作成しようとしています。通常のファイルには問題なく機能しますが、zip ファイルをダウンロードして解凍する機能を追加したいと考えていました。初期化とダウンロードという 2 つの基本的な手順で動作するようになりました。初期化プロセスは、zipInputStream を設定し、FileEntry.getName と .getSize を使用してアーカイブのファイル情報を収集します。この情報を使用して、キューの合計ダウンロード サイズと、再開されたダウンロードの以前の進行状況を計算できます。DLManager キューがリンクをアップすると、別の zipInputStream を設定し、.read メソッドを使用してファイルをディスクに出力することにより、ダウンロード ステップを開始します。

私が抱えている問題は、ファイルを初期化するときに時間がかかることです。1 つの zip ファイルを初期化するだけの時間で、3 つ以上の大きなビデオ ファイルをダウンロードできます。zipInputStream がどのように機能しているかについて混乱しています。最初にヘッダー情報をストリーミングしてから .read コマンドが残りをダウンロードするのを待っているだけですか、それともヘッダー情報を返す前に実際にアーカイブ全体をダウンロードしていますか? すべてを一度にダウンロードする場合、zipInputStream を再利用する方法はありますか (最初のエントリに戻ります)。zipInputStream のソースを読み込もうとしましたが、迷子になりました。この問題に光を当てることができる人に感謝します。ありがとう。

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

java - ZipInputStreamをJax-RSResponseオブジェクトとして返す

2つの異なる出力ストリームを含むZipInputStreamをjavax.ws.rs.core.ResponseStreamとして返そうとしています。ストリームを取得するためにWebサービスを呼び出すと、空のストリームが返されることに気付きました。以前にGZipInputStreamを返そうとしましたが、クライアント側で期待されるストリームを受信しました。ZipInputStreamに問題があり、正しく返されませんか?私はjavax2.4(servlet-api)を使用しています。これは私のjax-rsサービスがどのように見えるかです(私はそれを少し単純化しました):

そして、これはサービスを呼び出すコードです。私は軸1.4を使用しています:

最後の行では、itemAがJax-RSサービスのストリームに追加された最初のエントリであるはずですが、nullが返されます。これを引き起こしている可能性のあるアイデアはありますか?

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

java - Java-Zip出力ストリームの動的バッファサイズ

私は一方のzipからファイルを取得し、もう一方のzipにファイルを配置するアプリケーションに取り組んでいます。ファイルは問題ありませんが、ソースzipにdirがある場合は、次の例外で失敗します。

私は次のコードを使用しています:

さまざまなバッファサイズを試しましたが、それは役に立ちません。動的バッファサイズを取得する方法が必要です。例とリンクは大歓迎です。

編集:コードを変更して使用可能にしました

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

java - java.util.zip.ZipException: 無効な圧縮方法

Mac OS X 10.7.3 で zip ファイルを処理する際に問題が発生しています。

処理が必要なサードパーティから zip ファイルを受け取りました。私のコードはこれを行うために ZipInputStream を使用しています。このコードは問題なく以前に数回使用されていますが、この特定の zip ファイルでは失敗します。私が得るエラーは次のとおりです。

私はそれについてグーグルで調べましたが、ZipInputStreamにいくつかの問題があることがわかりまし

また、Stackoverflow に関するいくつかの関連する質問も見つけまし。しかし、適切で受け入れられる/受け入れられる答えはありません。

いくつか質問があります。

  1. 誰かがこれに対する具体的な解決策を見つけましたか? 最新の更新または同じ機能を持つが問題のないまったく異なる JAR のように
  2. このリンクで、ユーザーphobuz1は、「非標準の圧縮方法 (方法 6)を使用すると、この問題が発生する」と述べています。どの圧縮方法が使用されているかを調べる方法はありますか? 失敗の理由を確信できるようにするには?

一部のユーザーと同様に、ローカル マシンでファイルを解凍して再圧縮すると、問題なく動作することに注意してください。

編集1:

私が取得しているファイルは.zip形式ですが、圧縮に使用している OS/ユーティリティ プログラムがわかりません。私のローカル マシンでは、Mac OS X に付属している組み込みの zip ユーティリティを使用しています。

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

android - ZipInputStream からファイル オブジェクトへ

ZipInputStream を使用して、アーカイブ内の各ファイルを ArrayList に配置しようとしています。ZipInputStreamでこれを行うことはできますか?

私の主な目標は、cbr/cbz ファイル (画像 (jpg/png) のみを含むアーカイブ) を解凍することです。これらの各画像を A​​rrayList に配置しようとしているため、ZipInputStream から ArrayList への変換は最終的にそれらをビットマップに変換する計画でしたが、それらを ZipInputStream から直接ビットマップに取得できれば、すばらしいでしょう!

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

java - ZipInputStreamはzipファイルのすべての情報を読み取ることができません

を使用してコードを記述しZipInputStreamましたが、問題があります。

には3つのテキストファイルがありますtestzip.zip。つまり、正しい出力は3つのファイル名とその内容である必要があります。ただし、私の出力は3つのファイル名と2つの内容です。なぜ3つではなく2つのコンテンツしかないのですか?

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

java - ZipInputStreamは、zipファイルを抽出する前に有効かどうかを確認します

解凍する前に、zipファイルが破損しているか有効なZipファイルかどうかを確認する方法

私のコード`

`

これは有効なzipファイルで正常に機能しますが、無効なzipファイルは例外をスローせず、何も生成しませんが、解凍する前にzipファイルの有効性を確認する必要があります

0 投票する
3 に答える
5760 参照

java - 解凍するファイルのサイズを特定できますか?

現在、 ZipInputStreamインスタンスを使用して zip ファイルを電話のターゲットの場所に解凍する次のコードがあります。

解凍が進行するにつれて進行状況インジケーターを表示できるように、開始前に解凍されるファイルまたはバイトの総数 (の推定値) を取得することが (上記のセットアップまたはその他の方法を使用して) 可能かどうかを誰かが知っていますか? ZipInputStreamにはまたは同様のメソッドがあるのではないかと思いgetTotalEntries()ましたが、このようなものは見つかりません。

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

java - 春:アップロードされたzipファイルを解析するには?

zipアーカイブをサーバーにアップロードし、その中のファイルを開きたいと考えてい.txtます.jpg。コントローラーでアーカイブを正常に取得し、 を介して各ファイルの名前を取得しますZipEntry。今、それを開きたいのですが、そのためにはファイルへのフルパスを取得する必要があります。

私はそれを行う方法を見つけていません。それを行う方法をいくつか提案してもらえますか?

アップデート

以下に提案されている例を使用しようとしましたが、ファイルを開くことができません

私は持っていますFileNotFoundException

というわけでスタート地点に戻ります。Java Spring アプリケーションにアップロード フォームがあります。コントローラーでは、zipアーカイブを次のように取得しましたbyte[]

それから私はそれぞれを手に入れましたZipEntry

ドキュメントによると、私は大丈夫でしたが、私にとっては、ファイル名のみを渡し、ファイルを正常に開くと思われるのは奇妙です