gpt4 book ai didi

java - java中文件的不同类型的对象

转载 作者:行者123 更新时间:2023-12-01 13:12:34 26 4
gpt4 key购买 nike

我正在做一个项目,其中有很多文件需要处理。当我必须以不同的方式提供文件时,问题就出现了,例如:

  1. 文件的每一行将包含一个字符串
  2. 每行中的字符数,例如:

    1st line :  A B 4

    2nd line : 6 C A 6 & U #

    etc.
  3. 文件将不包含。字符串例如

    第一行:Lion Panther jaguar 等

我已经阅读了如何有效地处理文件,但我很困惑何时使用缓冲流以及何时使用无缓冲。如果我使用 BufferedStream,则应使用 BufferInputStreamBufferReader/BufferWriter

同样,我对I/O Stream、File I/O Stream、ByteArray I/O Stream感到困惑。有很多事情。谁能建议我何时使用哪一种以及为什么?针对不同场景,如何高效处理?

最佳答案

嗯,这个问题可能没有直接的答案,但如果您感到困惑,也不必担心。关于缓冲无缓冲的讨论之前已经进行过很多次了。

例如在此链接中:bufferred vs non-bufferred ,给出了一个很好的提示(检查标记为正确的答案)。这是因为在使用 Bufferred 流时,这些流存储在一个称为(令人惊讶的是)缓冲区的小内存区域中。写入的数据也会发生同样的情况(它们在存储到硬盘之前先进入缓冲区)。这提高了性能,因为降低了 I/O 操作的开销(取决于操作系统)。检查Java文档:Bufferred Streams

因此,为了明确起见,当您需要提高 I/O 操作的性能时,请使用 Bufferred 流。当您想要确保在继续之前已写入输出时,请使用无缓冲流(因为在从缓冲区写入/写入缓冲区时可能总是会发生错误,例如当您想要写入日志时,它可能一直打开,因此不需要访问它,不需要缓冲区)。

关于java - java中文件的不同类型的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22741412/

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