I answered almost the same question in
this thread.
No, NIO is not a replacement for the traditional I/O classes in java.io. It's an alternate approach using different abstractions and with different goals.
If the traditional I/O classes work for you, great, use them - they're not going away any time soon. But there are some things that only NIO can do and some things that NIO does better. The inverse is also true.
There are many tools in the box, use the one that's best for the job.