問題タブ [apache-commons-compress]
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 - メモリ内の ArchiveInputStream を解凍する
apache commons compress lib の ArchiveInputStream からの ArchiveEntry が別の Archive である場合、その archiveEntry をメモリに解凍できる可能性はありますか?
ありがとう
android - XZ圧縮時のandroid dlavikvm-heap out otメモリ割り当て
API 2.3.3 で tar を tar.xz に圧縮しようとしています。
私が何をしても、このエラーが発生します:
それを引き起こしているコードは次のとおりです。
これのいくつかの異なるバージョンを作成しましたが、すべて同じエラーが発生します。アプリケーションに画像ギャラリーをロードしていますが、ギャラリーをロードせずに圧縮しようとしましたが、同じ結果が得られました。
誰でも問題が何であるか知っていますか? 解決策は何ですか?それとも、tar を tar.xz に圧縮するコードですか?
助けてくれてありがとう。
ジェイダイ。
java - Apache Commons Compressを使用して.tarアーカイブにファイルを追加するにはどうすればよいですか?
Javaでtarアーカイブにファイルを追加するにはどうすればよいですか?を読みました。、アーカイブ全体を読み書きせずにファイルをアーカイブに追加し、既存のコンテンツを上書きせずにtarファイルにエントリを追加しますが、適切な回答は得られませんでした。さらに、コメントを投稿するのに十分な評判がありません。そこで、ここで新しい質問を作成しました。
tarアーカイブにファイルを追加する方法はありますか?すでに存在するファイルを置き換えたいのですが。
次のメソッドを書き始めましたが、ファイルを追加するとアーカイブの内容が消去されます。apachecompressのWebサイトで例は見つかりませんでした。
java - Commons Compress でディレクトリを tar.gz に圧縮する
commons 圧縮ライブラリを使用してディレクトリの tar.gz を作成する際に問題が発生しています。次のようなディレクトリ構造があります。
次のコードを使用して圧縮を行っています。例外なく問題なく動作します。しかし、その tar.gz を解凍しようとすると、「childDirToCompress」という名前の単一のファイルが取得されます。正しいサイズであるため、tar プロセスでファイルが互いに明確に追加されています。望ましい出力はディレクトリです。何が間違っているのかわかりません。賢明なコモンズコンプレッサーで正しいパスを設定できますか?
java - 並列 BZip2 圧縮
Apache Commons Compress for Java を使用して、複数のログ ファイルを 1 つのアーカイブに圧縮しています tar.bz2
。
ただし、1日に約20GBのファイルを圧縮するため、圧縮には非常に長い(12時間以上)かかります。
このライブラリはファイルをモノスレッドで圧縮するため、これをマルチスレッドで行う方法があるかどうか知りたいです。
多くの解決策 (コマンドライン pbzip2 またはいくつかの C++ ライブラリ) を見つけましたが、Java について見つけたのは次のブログ投稿だけです。
https://plus.google.com/117421466255362255970/posts/3jfKVu325zh
Java アプリケーションでは使用できないようです。
そこに何かありますか?あなたは何をお勧めします?または、 bzip2 のような同様の圧縮率を持つ別のより高速なソリューションはありますか?
java - Apache commons 圧縮ライブラリを使用して ZipArchiveInputStream から個々のファイルの内容を取得する方法
org.apache.commons.compress.archivers.zip.ZipArchiveInputStream オブジェクトがあり、そこから各 ArchiveEntry アイテムを取得し、個々のファイルのメタデータを取得できます。しかし、各ファイルの内容を Blob として取得する方法を知る必要があります。
org.apache.commons.compress.archivers.zip.ZipFile を使用して実行できますが、ZipFile には、物理的または一時的な File オブジェクトまたはファイルの場所を持つコンストラクターがあります。このための一時ファイルを作成したくありません。
ZipArchiveInputStream を ZipFile に変換する方法があったとしても、間接的に問題を解決できます。
つまり、私の要件は、InputStream/Blob から Zip ファイルを読み取り、個々のファイルを BLOB としてデータベースに格納することです。
参考までに: 私は org.apache.commons :: commons-compress :: 1.4.1 を使用しています
解決策/アイデア/提案は大歓迎です。
乾杯クム
java - JavaでCommons Compressで解凍した後にZIPアーカイブを削除するには?
ZIP アーカイブを解凍し、その中にあるアーカイブを再帰的に解凍または抽出するプログラムを作成しました。ZIP 内のアーカイブは tar または ZIP アーカイブである可能性があり、問題なく抽出できます。
新しいディレクトリ内の内部アーカイブを抽出した後、それらを削除したいと思います。これは tar アーカイブでは問題なく機能しますが、何らかの理由で ZIP アーカイブでは機能しません。すべてのストリームを閉じました。削除に失敗した場合は、deleteOnExit をフェールセーフとして使用しますが、それも機能しません。
ArchiveInputStream を閉じても実際にストリームが閉じられない限り、開いているストリームがあってはなりません。しかし、これも tar アーカイブで機能します。
親ファイルでlistFiles()を呼び出し、ZIPアーカイブを見つけて削除することでZIPアーカイブを削除できることをどこかで読みましたが、これは奇妙な複雑なプロセスのように聞こえます。もっと簡単な方法があるはずです。
編集:
この問題は Windows に固有のものです。Linux (SliTaz 4 および Red Hat Enterprise 5) では、これは問題なく動作します。これは、Windows がどういうわけか ZIP アーカイブをロックしていることを示しています。これは少し奇妙に思えます。
java - InputStreamから作成されたZipArchiveInputStream、コンテンツを読み取ることができません
作業コード:
コードが機能しない
アイデアはInputStreamから読み取るのではなく、inputStreamからZipArchiveInputStreamを作成して、canReadEntryData()メソッドを利用できるようにします。canReadEntryData()は完全に正常に機能します。通常のファイルではtrueを返しますが、ZipArchiveInputStreamからコンテンツを読み取ることができません。
助けてください。どこが間違っているのかを教えてください。
java - java.util.zip.ZipException: 格納されたブロックの長さが無効です
ZipArchiveEntry を文字列に読み込もうとしています。以下のコードがあり、例外が発生しました
私のコードは以下の通りです
そして、次の例外が発生します
本当に長い間それに固執しました。助けてください。
java - commons.apache.compressを使用してネストされたzipファイルにエントリを追加する
私のZipファイルの構造は次のようなものです。
t1.zip
-> t2.zip
-> sample.txt
sample.txtを置き換えたい。それが1つのレベルであれば、私はそれを行うことができました。マルチレベルのネストされたzipファイルを手伝ってください。
私のサンプルコード
私は試した
私の意図は、apacheのドキュメントページの例に従うことでした。
しかし、私は明確ではありません、アーカイブエントリ2レベルを内部に配置する方法は?