1 package com.opencsv.stream.reader;
2
3 import com.opencsv.ICSVParser;
4
5 import java.io.BufferedReader;
6 import java.io.IOException;
7
8
9
10
11
12
13
14
15
16
17
18
19 public class LineReader {
20 private final BufferedReader reader;
21 private final boolean keepCarriageReturns;
22
23
24
25
26
27
28
29 public LineReader(BufferedReader reader, boolean keepCarriageReturns) {
30 this.reader = reader;
31 this.keepCarriageReturns = keepCarriageReturns;
32 }
33
34
35
36
37
38
39
40 public String readLine() throws IOException {
41 return keepCarriageReturns ? readUntilNewline() : reader.readLine();
42 }
43
44 private String readUntilNewline() throws IOException {
45 StringBuilder sb = new StringBuilder(ICSVParser.INITIAL_READ_SIZE);
46 for (int c = reader.read(); c > -1 && c != '\n'; c = reader.read()) {
47 sb.append((char) c);
48 }
49
50 return sb.length() > 0 ? sb.toString() : null;
51 }
52 }