package org.archive.hadoop.cdx; import java.io.BufferedReader; import java.io.IOException; import java.io.Reader; import java.util.ArrayList; public class SplitFile { public SplitLine[] lines; public SplitFile() {}; public int size() { return lines.length; } public String getStart(int i) { return lines[i].start; } public String getEnd(int i) { return lines[i].end; } public String getName(int i) { return lines[i].name; } public void read(Reader r) throws IOException { BufferedReader br = new BufferedReader(r); ArrayList<SplitLine> tmp = new ArrayList<SplitLine>(); while(true) { String line = br.readLine(); if(line == null) { break; } tmp.add(new SplitLine(line)); } if(tmp.size() == 0) { throw new IOException("Empty split file"); } lines = tmp.toArray(new SplitLine[] {}); } private class SplitLine { String name; String start; String end; public SplitLine(String line) { String parts[] = line.split("\\s"); if(parts.length != 3) { throw new IllegalArgumentException("Bad split line:" + line); } name = parts[0]; start = parts[1]; end = parts[2]; } } }