package mobvista.dmp.datasource.personagraph; import java.io.BufferedReader; import java.io.IOException; import java.util.concurrent.BlockingQueue; /** * */ public class DataFileReader implements Runnable { private BlockingQueue blockingQueue; private BufferedReader fileReader; private Boolean readable = true; public DataFileReader(BlockingQueue blockingQueue, BufferedReader fileReader) { this.blockingQueue = blockingQueue; this.fileReader = fileReader; } public void setFileReader(BufferedReader fileReader) { this.fileReader = fileReader; } public void setReadable(Boolean readable) { this.readable = readable; } @Override public void run() { try { String line = fileReader.readLine(); while (line != null) { if (!readable) { Thread.sleep(20000); } else { blockingQueue.put(line); line = fileReader.readLine(); } } } catch (Exception e) { e.printStackTrace(); } finally { try { fileReader.close(); } catch (IOException e) { e.printStackTrace(); } } } }