/* This code is part of Freenet. It is distributed under the GNU General
* Public License, version 2 (or at your option any later version). See
* http://www.gnu.org/ for further details of the GPL. */
package freenet.support.io;
import java.io.BufferedReader;
import java.io.IOException;
/**
** Utility class for all sorts of Readers.
*/
final public class Readers {
private Readers() { }
/**
** A {@link LineReader} <a href="http://en.wikipedia.org/wiki/Adapter_pattern">Adapter</a>
** for {@link BufferedReader}.
*/
public static LineReader fromBufferedReader(final BufferedReader br) {
return new LineReader() {
@Override
public String readLine(int maxLength, int bufferSize, boolean utf) throws IOException {
return br.readLine();
}
};
}
/**
* A {@link LineReader} <a href="http://en.wikipedia.org/wiki/Adapter_pattern">Adapter</a>
* for {@link String} array.
*/
public static LineReader fromStringArray(final String[] lines) {
return new LineReader() {
private int currentLine = -1;
@Override
public String readLine(int maxLength, int bufferSize, boolean utf) throws IOException {
if(++currentLine<lines.length) {
return lines[currentLine];
}
return null;
}
};
}
}