java 中的未压缩文件大小
Uncompressed file size in java
我正在尝试使用以下代码查找未压缩的 bz2 文件的大小。但是,在 运行 代码之后,我得到的大小为 0 字节。不知道出了什么问题。有没有人可以指点一下。
try{
FileInputStream fin = new FileInputStream("/users/praveen/data1/00.json.bz2");
BufferedInputStream in = new BufferedInputStream(fin);
BZip2CompressorInputStream bzIn = new BZip2CompressorInputStream(in);
long size = 0;
while (bzIn.available() > 0)
{
byte[] buf = new byte[1024];
int read = bzIn.read(buf);
if (read > 0) size += read;
}
System.out.println("File Size: " + size + "bytes");
bzIn.close();
//bzIn.close();
}
catch (Exception e) {
throw new Error(e.getMessage());
}
很可能BZip2CompressorInputStream
没有完全实现available()
方法。它可能只是 returns 0。相反,您应该尝试使用 InputStream#read(byte[])
并检查 -1 return.
我正在尝试使用以下代码查找未压缩的 bz2 文件的大小。但是,在 运行 代码之后,我得到的大小为 0 字节。不知道出了什么问题。有没有人可以指点一下。
try{
FileInputStream fin = new FileInputStream("/users/praveen/data1/00.json.bz2");
BufferedInputStream in = new BufferedInputStream(fin);
BZip2CompressorInputStream bzIn = new BZip2CompressorInputStream(in);
long size = 0;
while (bzIn.available() > 0)
{
byte[] buf = new byte[1024];
int read = bzIn.read(buf);
if (read > 0) size += read;
}
System.out.println("File Size: " + size + "bytes");
bzIn.close();
//bzIn.close();
}
catch (Exception e) {
throw new Error(e.getMessage());
}
很可能BZip2CompressorInputStream
没有完全实现available()
方法。它可能只是 returns 0。相反,您应该尝试使用 InputStream#read(byte[])
并检查 -1 return.