Java NIO:为什么方法名称"读""写"听起来恰恰相反?

Ger*_*rry 0 java naming nio

我是Java NIO的新手,我不是英语母语人士.

当我读取有关读写缓冲区的方法调用时,我总是感到困惑.这听起来与我相反.

例如,

fileChannel.read(buffer)
Run Code Online (Sandbox Code Playgroud)

根据FileChannel javadoc,这意味着

从该通道读取一系列字节给定的缓冲区

我想知道为什么它不会称之为"写".

在英语中,"写入"和"读取"听起来比"写入"和"读入"更自然.也在代码阅读中

fileChannel.write(buffer)
Run Code Online (Sandbox Code Playgroud)

FileChannel 一系列字节写入给定的缓冲区

这清楚地说明了演员将要做什么.

现在我需要阅读所有相反的内容才能使事情正确...

也许他们这样称呼他们是因为历史原因他们如何在IO包中称呼他们?或许我错过了一些明显的东西?希望我能得到你的建议如何正确解释它们.

谢谢!

Cha*_*Rex 5

如果你有object.verb(…),动词通常是在对象上执行的,所以如果你想阅读fileChannel,你应该有fileChannel.read(…).