These classes do provide important functionality that was not there. The problem is that it doesn't tie well into the existing Java classes. The following quote illustrates this: [link|http://www.javaworld.com/javaworld/jw-09-2001/jw-0907-merlin.html|Master Merlin's new I/O classes]
"On the other hand, the new I/O doesn't integrate well with the old I/O. (And when exactly will it stop being new? Will Sun rename the packages when the next, newer I/O capability comes along?) In particular, the Buffers don't connect well with existing java.io classes. Just try explaining that BufferedReader can't read into Buffers and you can't pass a Buffer to BufferedWriter! The JCP operates by chartering an expert group (a committee) to address each specification request. These expert groups work independently, each with a relatively narrow charter. It is hardly surprising that there is little interaction between feature sets, or that new features do not reach broadly into the existing APIs. "
Unfortunatley this is what happens when you design a language by committees.