問題タブ [gzipstream]
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.
ftp - GZipStreamを使用した進行状況(バー)の計算
遅いソース(FTPサーバーなど)から.gzファイルを読み取っていて、受信したデータをすぐに処理しています。次のようになります。
私の問題は、正確なプログレスバーを表示することです。事前に圧縮された.gzファイルサイズを取得できますが、コンテンツが圧縮解除される大きさはわかりませんでした。ファイルを1行ずつ読み取る非圧縮バイトの数はよくわかっていますが、これが圧縮ファイルのサイズとどのように関係しているかはわかりません。
それで、GZipStreamからファイルポインタが圧縮ファイルにどれだけ進んでいるかを取得する方法はありますか?現在の位置、ファイルを読み取る前にフェッチできるgzファイルサイズのみが必要です。
c++ - C ++でgzip圧縮されたファイルを読み書きするにはどうすればよいですか?
C ++でgzip圧縮されたファイルを読み書きするにはどうすればよいですか?
ここのiostream
ラッパークラスは見栄えがよく、簡単な使用例を次に示します。
しかし、私は実際にそれをリンクすることができませんでした(私は持っていますが/usr/lib/libz.a
)。シンプルな
しませんでした(undefined reference to gz::gzstreambase::~gzstreambase()
)。
.net - GzipStream を使用する場合にバッファの大きさを決定するにはどうすればよいですか?
GZipStream を解凍しようとしています。問題は、ストリームの「長さ」プロパティが「NotSupported」例外をスローすることです。ストリームからバイトを読み取るときに、バッファーのサイズを確認するにはどうすればよいですか? 圧縮されているため、圧縮されていないバージョンがどのくらいの大きさになるかはわかりません。助言がありますか?
c# - GZipStream zip ファイルが無効または破損しています
zip ファイルを開くときに問題が発生しました。このコードを使用してファイルを圧縮しています:
この関数を呼び出すと、「成功」メッセージが表示されますが、zip ファイルを開くことができません。これは私の関数呼び出しコードです:
これは私が受け取るエラーメッセージです:
圧縮された (フォルダ) が無効であるか、破損しています
c# - 圧縮ストリームへの書き込みはサポートされていません。System.IO.GZipStreamを使用する
.NET Frameworkに含まれているGZipStreamクラスを使用して(.gz)ファイルを解凍しようとすると、例外が発生します。私はMSDNのドキュメントを使用しています。これは例外です:
圧縮ストリームへの書き込みはサポートされていません。
アプリケーションソースは次のとおりです。
例外はcompressedZipStream.write()でスローされます。
何か案は?この例外は私に何を伝えていますか?
c# - C# から Java: Base64String、MemoryStream、GZipStream
.NET で gzip された Base64 文字列があり、それを Java の文字列に変換したいと考えています。特に、C# 構文に相当する Java を探しています。
- Convert.FromBase64String
- メモリーストリーム
- GZipStream
変換したいメソッドは次のとおりです。
任意のポインタをいただければ幸いです。
c# - GZipStream の解凍パフォーマンスが低い
バックエンド WAS サーバーに接続する .NET 2.0 WinForms アプリがあります。サーバーに対して行われた HttpWebRequest 呼び出しから返されるデータをデコードするために GZipStream を使用しています。返されるデータは、Apache が圧縮している圧縮された CSV です。サーバースタック全体は、Hibernate-->EJB-->Spring-->Apache です。
応答が小さい場合、パフォーマンスは問題ありません (<50ms)。150KB を超える応答を受け取った場合、解凍に 60 秒以上かかります。ほとんどの時間は GZipStream コンストラクターで費やされているようです。
これは、HttpWebResponse 呼び出しから応答ストリームを取得する場所を示すコードです。
編集 1
Lucero からのコメントに基づいて、Decompress メソッドを次のように変更しましたが、GZipStream をインスタンス化する前に ResponseStream を MemoryStream にロードしても、パフォーマンス上の利点は見られません。
上記のコードに基づいて、誰でも問題を確認できますか? これは私には非常に基本的なことのように思えますが、それは私を夢中にさせています。
編集 2
ANTS Profiler を使用してアプリケーションのプロファイリングを行ったところ、60 秒間の解凍中に CPU はほぼゼロになり、メモリ使用量は変化しませんでした。
編集 3
実際の速度低下は、の読み取り中に発生するようです
60 秒全体が、応答ストリームを MemoryStream にロードするために費やされます。そこにあると、GZipStream への呼び出しは迅速です。編集 4
HttpWebRequest.AutomaticDecompression を使用すると同じパフォーマンスの問題が発生することがわかったので、この質問を閉じます。
c# - GZipStream と解凍
圧縮を行うコードがあります:
そうだと思いますが、上記の方法で圧縮されたものを解凍したいと思います。私はそのように考えます:
ここではそうではありません...ループに入る前にnRead = 0になっています...何が間違っていますか?? 私が使用するテスト ファイルは、最も単純な TEXT ファイル (サイズ: 104 バイト) です...
.net - .NET GZipStream の圧縮と解凍
以下のこのコードの何が問題になっていますか。私は常に FALSE を取得します。つまり、圧縮後、解凍されたデータは元の値と一致しません。
どこが間違っているのかご指摘いただけると大変助かります。