作者:书友58684991 | 来源:互联网 | 2023-09-24 15:46
Ifyouwanttodeterminetheuncompressedsizeofagzipfilefromwithinaprogram,youcanextracttoorig
If you want to determine the uncompressed size
of a gzip file from within a program, you can extract to original file size from
the gzip file. This size is stored in the last 4 bytes of the file. This will
only provide the correct value if the compressed file was smaller than 4
Gb.
To extract this information and
convert it to something useful in your Java program.
RandomAccessFile
raf = new RandomAccessFile(file, "r");
raf.seek(raf.length()
- 4);
>int b4 =
raf.read();
int
b3 = raf.read();
int
b2 = raf.read();
int
b1 = raf.read();
int
val = (b1 <<24) | (b2 <<16) + (b3 <<8) +
b4;
>raf.close();
>The original size of the compressed file will now be
available in the val variable in bytes.
>http://www.abeel.be/wiki/Java_determine_uncompressed_size_of_gzipped_file
Java determine uncompressed size of gzipped file,布布扣,bubuko.com