![](/img/trans.png)
[英]How to Decompress the data using GZIP in java if the data is compressed with the same in BlackBerry
[英]How to process compressed data in Java
我有一些数据在一个未压缩的文件中占用了超过50MB的数据,但是使用gzip
压缩到不到一半的MB。
其中大部分是数字数据。 我试图弄清楚如何处理这些数据而不必完全解压缩它。 例如,如果此数据包含几个字符串以及每个记录5个左右的数值,那么有没有办法我可以解压缩一行(或一小组行),然后对其进行处理,然后将其丢弃?
Unix提供了诸如zcat
, grep
等实用程序,这些实用程序可以直接对压缩数据进行操作,我想在Java中做同样的事情。
谢谢
只需将FileInputStream
包装在GZipInputStream
:
public static BufferedReader createReader (File f, String encoding) throws IOException
{
try
{
InputStream in = new FileInputStream (f);
if (f.getName ().endsWith (".gz"))
in = new GZIPInputStream (in, 10240);
return new BufferedReader (new InputStreamReader (in, encoding));
}
catch (UnsupportedEncodingException e)
{
throw new RuntimeException("Missing encoding "+encoding, e);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.