FileInputStream和FileOutputStream如何保持内部状态?

时间:2020-07-02 10:01:42

标签: java fileinputstream fileoutputstream bytestream

除了复制字节外,我想看看这个标准代码,这些流如何保持其内部状态。

InputStream in = new FileInputStream(...);
InputStream out = new FileOutputStream(...);
int readLength = 0;
byte[] buf = new byte[1024];

while ( (readLength = in.read(buf)) >= 0)
    out.write(buf, 0, readLength);

我假设两个流都拥有指向文件当前位置的内部指针或计数器,该指针或计数器在读取/写入时会根据读取/写入块的长度进行更新。但是文档和Oracle教程都没有提到这一点,而是让读者自己推断,该流在“当前”位置开始每次读取/写入。在开始研究OpenJDK之前,我想先尝试在这里提问。

0 个答案:

没有答案