在Java中使用缓冲字节输出流`BufferedOutputStream`向文件写入数据时,下列关于数据写入和缓冲区刷新的描述,哪一项最为准确?

答案解析

A选项错误,`BufferedOutputStream`会将数据先写入缓冲区,而非直接写入文件。B选项正确,当缓冲区满或调用`close()`时,都会强制将缓冲区数据写入目标文件,这保证了数据的完整性。C选项错误,虽然`flush()`会强制写入,但缓冲区满或`close()`也会触发写入。D选项错误,`BufferedOutputStream`的缓冲区直接影响数据写入的时机,并非完全依赖操作系统缓存策略。题目的核心在于考察`BufferedOutputStream`何时将缓冲区数据写入到底层输出流。
正确答案:B
随机推荐
开始刷题