問題タブ [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 - ZipInputStream を使用せずに ZipEntry を ZipOutputStream に追加すると java.util.zip.ZipException が発生する
ZipEntry
aに aを追加しよZipOutputStream
うとしていますが、バイトを書き込もうとすると問題が発生します。
ファイル名を にマップするZipEntry
からを取得しました。この方法を選択したのは、大きな を扱っていて、をループしてファイルを探して取得するよりも簡単にその内容にアクセスできるようにしたいからです。HashMap
ZipEntries
ZipInputStream
InputStream
ZipEntry
これにより、エントリを追加した後にバイトを書き込もうとすると問題が発生します。これまでに見つけたすべてのソリューションには、ZipInputStream
.
コードは次のとおりです。
私が得ているエラーは次のとおりです。
この例外を修正するにはどうすればよいですか?
java - プログラムで zip を生成すると無効な zip が作成される [android]
中に 3 つの画像を含むフォルダーがあり、それらを圧縮してメールで送信します。以前の問題で使用したこれを行う方法があり、正常に機能します。ただし、今回は無効なzipが生成され続け、zipを開くと、サイズが0の画像が1つしかありません。理由はわかりません。これは方法です:
addDirToArchive
これがzipを生成する私の方法です:
編集
java - バイト配列へのzipファイルの作成
ファイルパスのリストからzipファイルを作成しようとしています。zip ファイルをバイト配列にして、ResponseEntity オブジェクトとして Web ページに返すことができるようにしたかったのです。問題は、 FileOutputStreamを試したときに動作することです。ByteArrayOutputStreamを試しましたが、zip ファイルが破損しています。以下はコードです
上記の最初の 2 行については、ByteArrayOutputStreamを使用すると、zip ファイルが破損しているようです。しかし、FileOutputstreamを使用すると、zip ファイルとそのコンテンツを開くことができません。
zipバイト配列をWebページに送り返す方法は次のとおりです。これらのコードはすべて、スプリング コントローラー メソッド内で発生します。
java - ZipOutputStream - closeEntry() 最初または close() 最初
以下は、いくつかのコードの一部です。最終節でリソースを閉じる必要があります。最初に closeEntry() または close() を呼び出す必要がありますか? エラーメッセージが表示されます。
コード
java - ギリシャ文字を含むファイルの圧縮中に「IllegalArgumentException: UNMAPPABLE[1]」が発生する
Windows(7)でファイルを.zipで圧縮したいZipOutputStream
。問題は、ファイル名 (およびファイル ファイルの内容も) にギリシャ文字 (" ГП0000660040140521_a.txt
"、ガンマ、パイ) が含まれていることです。私が使用するファイルを圧縮するコード:
しかし、最後の行(putNextEntry
呼び出し)で次のようになりますIllegalArgumentException
:
ギリシャ語と UTF-8 の間の文字マッピングに何か問題があるに違いないと思います...ファイル名にギリシャ文字を含むファイルを圧縮する正しい方法は何ですか?
編集
文字セットとして「utf-8」を使用すると、zip ファイルを作成できますが、圧縮されたファイルの名前が間違っています:「ðôðƒ0000660040140521_a.txt
」(ギリシャ文字がありません)
java - クライアントのファイルへの書き込みと NegativeArraySizeException
以下のような数千の小さなファイルを送信するサーバーがあります。
成功しましたが、私の問題はクライアント側にあります。ファイルを区別してクライアントに個別に書き込む方法がわかりません。
EDIT2:ZipOutputStream を使用して次のようにサーバー側のコードを変更しましたが、クライアントで解凍して書き込む方法がわかりません(ほとんどの場合、クライアントでFileOutputStreamを定義する方法がわかりません:
および受信者コード:
今、私は例外 "負のNegativeArraySizeException "を取得します
これはおそらく
しかし、どうすればこれを解決できますか?ファイルに書き込むには、zip フォルダーの次のエントリのサイズが必要です。ただし、サイズはintではなくLongです