a better input reader
Aug. 2nd, 2011 12:07 pmpublic 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 Iterableiterate(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"