When the NIO was introduced in JDK 1.4, the existing java.io classes were retrofitted to use NIO as their implementation, so the stability and performance of NIO and the java.io libraries should be very similar. What makes NIO different is the additional functionality it brings to the API, like memory-mapped files, non-blocking sockets, multiplexing and so on (
Top Ten Things You Can Do With NIO).