Skip to content

Commit 46ab253

Browse files
committed
[IO-458] Add a SequenceReader similar to java.io.SequenceInputStream.
Refactor commmon code in a private method.
1 parent 972a5a4 commit 46ab253

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

src/main/java/org/apache/commons/io/input/SequenceReader.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public class SequenceReader extends Reader {
4141
*/
4242
public SequenceReader(final Iterable<? extends Reader> readers) {
4343
this.readers = Objects.requireNonNull(readers, "readers").iterator();
44-
this.reader = this.readers.hasNext() ? this.readers.next() : null;
44+
this.reader = nextReader();
4545
}
4646

4747
/**
@@ -64,6 +64,10 @@ public void close() throws IOException {
6464
this.reader = null;
6565
}
6666

67+
private Reader nextReader() {
68+
return this.readers.hasNext() ? this.readers.next() : null;
69+
}
70+
6771
/*
6872
* (non-Javadoc)
6973
*
@@ -75,7 +79,7 @@ public int read() throws IOException {
7579
while (reader != null) {
7680
c = reader.read();
7781
if (c == EOF) {
78-
reader = readers.hasNext() ? readers.next() : null;
82+
reader = nextReader();
7983
} else {
8084
break;
8185
}
@@ -98,7 +102,7 @@ public int read(final char[] cbuf, int off, int len) throws IOException {
98102
while (reader != null) {
99103
final int readLen = reader.read(cbuf, off, len);
100104
if (readLen == EOF) {
101-
reader = readers.hasNext() ? readers.next() : null;
105+
reader = nextReader();
102106
} else {
103107
count += readLen;
104108
off += readLen;

0 commit comments

Comments
 (0)