2

tar.gz 形式のフォルダーにある pdf ファイルを正常に読み取ることができました。しかし、私はパフォーマンスの問題に直面しました - 各ファイルサイズが10 - 25 MBの1000以上の小さなpdfファイルを含むtar.gzフォルダーを開くのに時間がかかります.フォルダーの合計サイズは2GBです

解凍ファイルの読み込みのパフォーマンスを向上させるには?

FileInputStream fin = new FileInputStream(tarName);
BufferedInputStream in = new BufferedInputStream(fin);
GzipCompressorInputStream gzIn = new GzipCompressorInputStream(in);
TarArchiveInputStream tarIn = new TarArchiveInputStream(gzIn);
TarArchiveInputStream tarIn1 = new TarArchiveInputStream(tarIn);
TarArchiveEntry entry = null;

byte[] buffer = new byte[5024];
int nrBytesRead;

while ((entry = (TarArchiveEntry) tarIn1.getNextEntry()) != null) {
    System.out.println("it finds a file "
                         + entry.getName().toString());
    if (entry.getName().toString().equals(fileName)) {

        while ((nrBytesRead = tarIn1.read(buffer)) > 0) {

            out.write(buffer, 0, nrBytesRead);
        }
        break;
    }
}
4

1 に答える 1