3 ms·
A pretty good showing from Java on this, even though Java's I/O system is pretty annoying. I don't think the implementation he shows there is too odious if you'
by henning 17y ago
A pretty good showing from Java on this, even though Java's I/O system is pretty annoying. I don't think the implementation he shows there is too odious if you're used to Javaland pain.
- fizx 17y agoIt's not the end of the world. It just adds a few lines, but for multi-GB text processing, the runtime speedup, and the decent concurrency support is worth it. import java.io.BufferedReader; import java.io.InputStreamReader; public class Foo { public static void main(String[] args) throws Exception { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String line; while ((line = reader.readLine()) != null) { } } }
- ZitchDog 17y agoIt's not hard to write a utility that wraps an InputStream in an Iterator so you can do things like: for(String line : readLines(System.in)) { //do something with line here }
- fizx 17y agoLike org.apache.commons.io.IOUtils.lineIterator? Ultimately, I choose to either be a Maven project and require half the world, or just a single file that's easily compiled. If it's the latter, I don't bother creating many abstractions.
- brendano 17y agoYeah, I was happy how the java turned out. The important point of comparison is to C++ and was WAY easier!