According to the documentation, BufferedReader(Reader)
uses a default buffer size, while the second constructor, BufferedReader(Reader, int)
allows
It isn't specified. On purpose. It's been 4096 for some years in the Sun/Oracle Java JDKs but don't rely on it.
Ans is 8 KB.
1024 bytes * 8 = 8192 (8 KB)
refer class : java.io.BufferedReader
private static int defaultCharBufferSize = 8192;
The default buffer size is 8192 characters
http://developer.android.com/reference/java/io/BufferedReader.html
BufferedReader(Reader in) Constructs a new BufferedReader, providing in with a buffer of 8192 characters.
Besides this documentation, I've extraced the rt.jar archive, and decompiled the BufferedReader.class from java.io.* using JD-GUI, this is what I found in the class definition:
private static int defaultCharBufferSize = 8192;
I'm sure I think it may be system/jvm dependent. Run this program:
What are the default buffer size for java.io.BufferedInputStream on old and exotic JVMs?
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;
}
}
I get:
1.6.0_45
8192