From 60f8b6404af678e4a382c8a5f05ffbf1767e788e Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Sun, 11 May 2014 15:42:37 +0200 Subject: Support compressed tweets --- src/io/CompressedTweetReader.java | 18 ++++++++++++++++++ src/main/Main.java | 3 +++ 2 files changed, 21 insertions(+) create mode 100644 src/io/CompressedTweetReader.java diff --git a/src/io/CompressedTweetReader.java b/src/io/CompressedTweetReader.java new file mode 100644 index 0000000..a6077ae --- /dev/null +++ b/src/io/CompressedTweetReader.java @@ -0,0 +1,18 @@ +package io; + +import java.io.FileInputStream; +import java.io.IOException; +import java.util.zip.GZIPInputStream; + +/** + * Read files from a compressed file. + * + * @author Peter Wu + */ +public class CompressedTweetReader extends TweetReader { + + public CompressedTweetReader(String filename) throws IOException { + super(new GZIPInputStream(new FileInputStream(filename))); + } + +} diff --git a/src/main/Main.java b/src/main/Main.java index e076d32..2644db9 100644 --- a/src/main/Main.java +++ b/src/main/Main.java @@ -4,6 +4,7 @@ import com.google.gson.JsonParseException; import com.google.gson.JsonSyntaxException; import data.Tweet; import database.ConnectionBuilder; +import io.CompressedTweetReader; import io.FileTweetReader; import io.ITweetReader; import io.TweetReader; @@ -145,6 +146,8 @@ public class Main implements Callable { try { if (m_filename == null) { reader = new TweetReader(System.in); + } else if (m_filename.endsWith(".gz")) { + reader = new CompressedTweetReader(m_filename); } else { reader = new FileTweetReader(m_filename); } -- cgit v1.2.1