問題タブ [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 に答える
1456 参照

java - ZipInputStream を使用せずに ZipEntry を ZipOutputStream に追加すると java.util.zip.ZipException が発生する

ZipEntryaに aを追加しよZipOutputStreamうとしていますが、バイトを書き込もうとすると問題が発生します。

ファイル名を にマップするZipEntryからを取得しました。この方法を選択したのは、大きな を扱っていて、をループしてファイルを探して取得するよりも簡単にその内容にアクセスできるようにしたいからです。HashMapZipEntriesZipInputStreamInputStreamZipEntry

これにより、エントリを追加した後にバイトを書き込もうとすると問題が発生します。これまでに見つけたすべてのソリューションには、ZipInputStream.

コードは次のとおりです。

私が得ているエラーは次のとおりです。

この例外を修正するにはどうすればよいですか?

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

java - プログラムで zip を生成すると無効な zip が作成される [android]

中に 3 つの画像を含むフォルダーがあり、それらを圧縮してメールで送信します。以前の問題で使用したこれを行う方法があり、正常に機能します。ただし、今回は無効なzipが生成され続け、zipを開くと、サイズが0の画像が1つしかありません。理由はわかりません。これは方法です:

addDirToArchiveこれがzipを生成する私の方法です:

編集 ここに画像の説明を入力

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

java - バイト配列へのzipファイルの作成

ファイルパスのリストからzipファイルを作成しようとしています。zip ファイルをバイト配列にして、ResponseEntity オブジェクトとして Web ページに返すことができるようにしたかったのです。問題は、 FileOutputStreamを試したときに動作することです。ByteArrayOutputStreamを試しましたが、zip ファイルが破損しています。以下はコードです

上記の最初の 2 行については、ByteArrayOutputStreamを使用すると、zip ファイルが破損しているようです。しかし、FileOutputstreamを使用すると、zip ファイルとそのコンテンツを開くことができません。

zipバイト配列をWebページに送り返す方法は次のとおりです。これらのコードはすべて、スプリング コントローラー メソッド内で発生します。

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

java - ZipOutputStream - closeEntry() 最初または close() 最初

以下は、いくつかのコードの一部です。最終節でリソースを閉じる必要があります。最初に closeEntry() または close() を呼び出す必要がありますか? エラーメッセージが表示されます。

コード

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

java - ギリシャ文字を含むファイルの圧縮中に「IllegalArgumentException: UNMAPPABLE[1]」が発生する

Windows(7)でファイルを.zipで圧縮したいZipOutputStream。問題は、ファイル名 (およびファイル ファイルの内容も) にギリシャ文字 (" ГП0000660040140521_a.txt"、ガンマ、パイ) が含まれていることです。私が使用するファイルを圧縮するコード:

しかし、最後の行(putNextEntry呼び出し)で次のようになりますIllegalArgumentException

ギリシャ語と UTF-8 の間の文字マッピングに何か問題があるに違いないと思います...ファイル名にギリシャ文字を含むファイルを圧縮する正しい方法は何ですか?

編集

文字セットとして「utf-8」を使用すると、zip ファイルを作成できますが、圧縮されたファイルの名前が間違っています:「ðôðƒ0000660040140521_a.txt」(ギリシャ文字がありません)

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

java - クライアントのファイルへの書き込みと NegativeArraySizeException

以下のような数千の小さなファイルを送信するサーバーがあります。

成功しましたが、私の問題はクライアント側にあります。ファイルを区別してクライアントに個別に書き込む方法がわかりません。

EDIT2:ZipOutputStream を使用して次のようにサーバー側のコードを変更しましたが、クライアントで解凍して書き込む方法がわかりません(ほとんどの場合、クライアントでFileOutputStreamを定義する方法がわかりません:

および受信者コード:

今、私は例外 "負のNegativeArraySizeException "を取得します

これはおそらく

しかし、どうすればこれを解決できますか?ファイルに書き込むには、zip フォルダーの次のエントリのサイズが必要です。ただし、サイズはintではなくLongです