java NIO中,为什么没有文件的Channel类继承类AbstractSelectableChannel

最近看java.NIO的api,nio包是为了处理数据传输的速度和cpu执行的速度而引入的,DatagramChannel, Pipe.SinkChannel, Pipe.SourceChannel, ServerSocketChannel, SocketChannel
都继承了类AbstractSelectableChannel,为什么没有一个File的Channel或者File的工具类继承这个类,在网络数据传输的情况下我们可以通过nio轮询来增大吞吐量,为什么不能在多个大文件复制时使用这样一个工具类来处理硬盘读取速度和cpu处理速度上的差别?
jdk原先的设计中,InputStream的read()方法每次只读取一个字节,请问这是设计上的原因还是底层如此?
另外还有个问题,操作系统接收到的数据报如何传递给其对应的应用程序,在读取硬盘上的数据时每次读取多少,为什么要设计成返回一个字节?

你可能感兴趣的:(Java综合)