gpt4 book ai didi

java - 无缓冲的 FileInputStream 不支持 .mark(int)

转载 作者:行者123 更新时间:2023-12-01 12:04:42 25 4
gpt4 key购买 nike

我一直在搞乱 Java 中的输入/输出。我还处于机械师的基础水平。我学会了如何使用 FileInputStream 和 FileOutputStream 从文本文件读取写入数据。

我正在尝试学习使用 FileInputStream 类中的两种方法。标记()和重置()。从我读到的一点来看,我需要将流包装在缓冲区中。

如果这是真的,那么缓冲区对象(不确定这是否是你所说的)不会有自己的mark()和reset()吗?

如果这些方法不能在没有缓冲区的情况下使用,为什么还要存在?

最佳答案

标记/重置可用性并不直接与输入流中缓冲区的存在相关。任何可以有效回滚其在流上的“读取指针”位置的 InputStream 实现都应该实现该功能。 ByteArrayInputStream 是 InputStream 的一个示例,它不扩展 BufferedInputStream,但能够返回到任何位置,而 BufferedInputStream 只能返回几个位置(最多可达缓冲区的大小)。

关于java - 无缓冲的 FileInputStream 不支持 .mark(int),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27709075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com