net.sf.japi.io
Class ARGVReader
java.lang.Object
java.io.Reader
java.io.BufferedReader
net.sf.japi.io.ARGVReader
- All Implemented Interfaces:
- Closeable, Readable
public class ARGVReader
- extends BufferedReader
An ARGV Reader.
Just to make life a bit less painful to Perl programmers that were reborn as Java programmers.
Don't rely on this class being a subclass of BufferedReader.
That is subject to change.
But you can rely on this class retaining all important methods (like readLine(), for instance).
An ARGVReader provides sequential access to one or more files.
To create an ARGVReader that is just a BufferedReader on System.in, just pass an empty
String array to its constructor.
To create an ARGVReader that sequentially accesss one file after another (like <ARGV> does in Perl),
pass an array with the desired filenames to its constructor.
Usually, you'd use ARGVReader like this:
// Sort in a similar way the UNIX command sort works like
public class Sort {
public static void main(final String... args) throws IOException {
final ARGVReader in = new ARGVReader(args);
final List<String> lineList = new ArrayList<String>();
for (String line; (line = in.readLine()) != null; ) {
lineList.append(line);
}
Collections.sort(lineList);
for (final String line : lineList) {
System.out.println(lines[i]);
}
}
}
Internally this class uses ARGVInputStream, which uses ARGVEnumeration to sequentially access the Stream elements of ARGV.
- Author:
- Christian Hujer
- See Also:
ARGVInputStream,
ARGVEnumeration- Notes:
- it is not required to invoke
BufferedReader.close().
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ARGVReader
public ARGVReader(String... args)
- Create an ARGVReader.
- Parameters:
args - Command line arguments or some other String array containing 0 or more file names.
© 2005-2006 Christian Hujer. All rights reserved. See
copyright