2011-12-19 4 views
0

私のjarファイルにzipファイルが埋め込まれており、圧縮されていないサイズを読み込みたいとします。これを行うための私の現在の方法:jarに埋め込まれたzipファイルの圧縮されていないサイズを抽出します

ZipFile zipFile = new ZipFile(new File(this.getClass().getClassLoader().getResource("files.zip").toURI())); 
Enumeration<? extends ZipEntry> e = zipFile.entries(); 
long installedSize = 0; 
while (e.hasMoreElements()) { 
    ZipEntry entry = e.nextElement(); 
    installedSize += entry.getSize(); 
} 

もちろんこれはかなり汚れているとも私はJSmoothを使用してexeファイルに私のjarファイルを埋め込む際には動作しません。

これを行うには、(zipファイルをコピーしないで)より良い方法がありますか?

答えて

0

getSize()を返します。サイズです。これは逆のgetCompressedSize()です。そして両方ともzipでうまく動作します。どちらもスタンドアロンファイルとして保存されるか、または他のzipに埋め込まれます。 残念ながら、私はJSmoothでこれをどのように解決できるかわかりません。

files.zipがファイルの場合は、ビルド時にエントリのサイズを確認し、その結果をプロパティファイルに入れることができます。それはパッチですが、うまくいくでしょう。

関連する問題