GZIP输入流在Java中删除尾随逗号

时间:2016-03-30 08:08:11

标签: java android csv

我试图用Java读取CSV文件。它已被GZIP压缩,我使用内置的GZIPInputStream来读取CSV文件。用于读取文件的代码如下:

BufferedReader br = new BufferedReader(new InputStreamReader(new GZIPInputStream(new FileInputStream("xyz.csv.gz"))));

几天后,我使用zip格式压缩了4个文件,它们位于名为xyz.zip的文件夹中。注意:4个文件未单独压缩。正在以下列方式阅读此文件:

InputStream is = getClass().getResourceAsStream("xyz.zip");
ZipInputStream zipIs = new ZipInputStream(is);
ZipEntry ze = null;
while ((ze = zipIs.getNextEntry()) != null) {
    String zipEntryFilename = ze.getName();
    BufferedReader br = new BufferedReader(new InputStreamReader(zipIs));
    while ((line = br.readLine()) != null) {
           //assume that a csv file is being read.
           //In this format, trailing commas are not removed.
    }

我在这两种方法中发现的一个区别是GZIP在csv文件中删除了尾随逗号,而在另一种情况下则没有发生同样的情况。

上面给出的两段代码显示了我如何使用InputStream来阅读我感兴趣的文件。

这种行为背后的原因是什么?这是一个错误吗?

0 个答案:

没有答案