What is the difference between stream-based Input and Channel-Based Input? The java API provides both stream-based in "java.io" package and channel-based in "java.nio" package. Which one of the two is better in performance and reduced run-time errors?
See this Oracle blog post for a good overview
Also don't neglect to read up on Java 7's NIO.2 APIs!
In terms of performance etc, well the answer is, "it depends". It depends on the characteristics of your I/O, e.g. it's size, it's 'shape', whether it's Network or disc or in memory or ....