当前位置: 首页 > 知识库问答 >
问题:

BufferedReader默认缓冲区大小?

慕容安易
2023-03-14

根据文档,BufferedReader(Reader)使用默认缓冲区大小,而第二个构造函数,BufferedReader(Reader,int)允许设置缓冲区大小。

公共缓冲区读取器(读取器输入)

创建使用默认大小的输入缓冲区的缓冲字符输入流。

但是,文档没有提到默认缓冲区大小。

BufferedReader的默认缓冲区大小是多少?

共有3个答案

田德运
2023-03-14

java的默认缓冲区大小是多少。木卫一。BufferedInputStream在旧的和外来的JVM上?

 
  import java.io.BufferedInputStream;
import java.io.InputStream;

public class BufferSizeDetector extends BufferedInputStream {
    public static void main(String[] args) {
        BufferSizeDetector bsd = new BufferSizeDetector(null);

        System.err.println(System.getProperty("java.version"));
        System.err.println(bsd.getBufferSize());
    }

    public BufferSizeDetector(InputStream in) {
        super(in);
    }

    public int getBufferSize() {
        return super.buf.length;
    }
}

 

我得到:

 
  1.6.0_45
8192

 

爱唯
2023-03-14

它没有指定。故意地在Sun/OracleJavaJDK中已经有4096年了,但不要依赖它。

仇建茗
2023-03-14

默认缓冲区大小为8192个字符

http://developer.android.com/reference/java/io/BufferedReader.html

 BufferedReader(Reader in)
Constructs a new BufferedReader, providing in with a buffer of 8192 characters.

除此文档外,我还提取了rt.jar归档文件,并反编译了BufferedReader。从java中初始化。io.*使用JD-GUI,我在类定义中发现:

private static int defaultCharBufferSize = 8192;
 类似资料:
  • 根据文档,使用默认缓冲区大小,而第二个构造函数,允许设置缓冲区大小。 公共缓冲区读取器(读取器输入) 创建使用默认大小的输入缓冲区的缓冲字符输入流。 但是,文档没有提到默认缓冲区大小。 BufferedReader的默认缓冲区大小是多少?

  • 问题内容: 有没有一种方法可以使用BufferedReader读取ByteBuffer而不必先将其转换为String?我想读取相当大的ByteBuffer作为文本行,并且出于性能方面的考虑,我想避免将其写入磁盘。在ByteBuffer上调用toString不起作用,因为生成的String太大(它抛出java.lang.OutOfMemoryError:Java堆空间)。我本来以为API中会有一些东

  • 问题内容: 该文件规定,对于缓冲的默认值是: 。我目前在Red Hat Linux 6上,但是我无法弄清楚为系统设置的默认缓冲。 谁能指导我如何确定系统的缓冲? 问题答案: 由于您链接到2.7文档,因此我假设您使用的是2.7。(在Python 3.x中,这一切都变得更加简单,因为在Python级别上公开了更多的缓冲。) 所有实际上做(在POSIX系统)是调用,然后,如果你已经通过了什么,。由于您没

  • 问题内容: 构造函数中的缓冲区大小是什么意思? 当我编写程序时: 输出: 然后,缓冲区大小是什么意思,正如我希望的那样,它只能读取两个字符。但事实并非如此。 问题答案: 顾名思义,缓冲输入。这意味着它会在将输入源传递给您之前从输入源读取到缓冲区。此处的缓冲区大小是指其缓冲的字节数。 从大多数来源读取输入非常慢。仅2个字节的缓冲区将损害性能,因为您的程序很可能大部分时间都在等待输入。缓冲区大小为2时

  • 我对在log4j2中使用异步记录器时的默认缓冲区大小有一个问题。log4j2的版本是,由Spring引导log4j2starter 2.1.13引入。释放 看起来留档中的不同地方指的是不同的值。异步记录器文档将大小称为。然而,log4j2常规配置文档提到,当以无垃圾模式运行时,大小为,但则不然。log4j2及以上版本默认以无垃圾模式运行。 但是,当我启动应用程序时,将StatusLogger设置为

  • 问题内容: 我正在使用类在缓冲区中逐行读取。当读取缓冲区的最后一行时,我想再次从缓冲区的开头开始读取。我已经阅读过有关和的信息,我不确定它的用法,但我认为它们不能帮助我。 有人知道到达最后一行后如何从缓冲区的开头开始读取吗?像我们可以使用的? 问题答案: 标记/重置是您想要的,但是您不能真正在BufferedReader上使用它,因为它只能重置一定数量的字节(缓冲区大小)。如果您的文件大于该文件,