你要理解JDK的开发者的思路,一个个脑子都有病。

解决方案 »

  1.   

    如果是 readFrom 或者 writeTo 才是你所理解的那样。
      

  2.   


    这个我知道,但从read通俗的理解和用法来说,应该也包含了readFrom的这个含义,如InputStream里面的read()方法,还有System.in.read()这个方法,都是从...读取的意思。这也是一般理解的意思。write也是一样。不懂的是为啥NIO要搞特殊,就算搞特殊,它的方法也可以命名为readTo()和writeFrom()吧
      

  3.   

    你去看看 InputStream#read(byte[]) 的方法,语义和 FileChannel#read(ByteBuffer) 是一样的呀,都是从流(通道)中读取数据到内存中。同样,OutputStream#write(byte[]), FileChannel#write(ByteBuffer) 也都是将内存中的数据写入流(通道)。
      

  4.   

    read 可以理解为将流或通道中的数据读出来,并放到 byte[] 或者 ByteBuffer 中去
    write 可以理解为将 byte[] 或者 ByteBuffer 中的数据写到流或通道中去read() 和 read(byte[]) 这两个方法是有区别的,因为第一个方法读出来的数据只能返回,因为没有容器给他存放数据,而后面那个方法应理解为从流中将数据读出来,再放到 byte[] 中去。