From 748e205ae8b5c5a3a8b6c461ec5bbf604900b985 Mon Sep 17 00:00:00 2001 From: Tom Morris Date: Sat, 22 Sep 2012 16:00:42 +0000 Subject: [PATCH] FIXED - task 616: Support bzip2 decompression on import http://code.google.com/p/google-refine/issues/detail?id=616 git-svn-id: http://google-refine.googlecode.com/svn/trunk@2568 7d457c2a-affb-35e4-300a-418c747d4874 --- .../com/google/refine/importing/ImportingUtilities.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/main/src/com/google/refine/importing/ImportingUtilities.java b/main/src/com/google/refine/importing/ImportingUtilities.java index fc1150c06..b740df62d 100644 --- a/main/src/com/google/refine/importing/ImportingUtilities.java +++ b/main/src/com/google/refine/importing/ImportingUtilities.java @@ -631,9 +631,16 @@ public class ImportingUtilities { || "x-gzip".equals(contentEncoding)) { return new GZIPInputStream(new FileInputStream(file)); } else if (fileName.endsWith(".bz2")) { - return new CBZip2InputStream(new FileInputStream(file)); + InputStream is = new FileInputStream(file); + is.mark(4); + if (!(is.read() == 'B' && is.read() == 'Z')) { + // No BZ prefix as appended by command line tools. Reset and hope for the best + is.reset(); + } + return new CBZip2InputStream(is); } } catch (IOException e) { + logger.warn("Something that looked like a compressed file gave an error on open: "+file,e); } return null; }