a better input reader
Aug. 2nd, 2011 12:07 pm
public final static Pattern CRLF = Pattern.compile("\n\r|\r\n|\n");
/**
* Iterates over the lines of input.
*
* Usage example:
* for (String s : iterate(new FileReader("system.properties")) {
* ...
* }
*
* @param in
* @return an iterable
*/
public static Iterable iterate(final Readable in) {
return iterate(in, CRLF);
}
/**
* Iterates over the lines of input.
*
* Usage example:
* for (String s : iterate(new FileReader("system.properties", "\n")) {
* ...
* }
*
* @param in
* @param delimiter
* @return
*/
public static Iterable iterate(final Readable in, String delimiter) {
return iterate(in, Pattern.compile(delimiter));
}
/**
* Iterates over the lines of input.
*
* Usage example:
* for (String s : iterate(new FileReader("system.properties", Readables.CRLF)) {
* ...
* }
*
* @param in
* @param delimiter
* @return
*/
public static Iterable iterate(final Readable in, final Pattern delimiter) {
return new Iterable() {
@Override
public Iterator iterator() {
return new Scanner(in).useDelimiter(delimiter);
}};
}
10x lj user="sassa_nf"

