2011-09-16 2 views
1

This 질문은 다음 surpising을 포함하는 내부 버퍼를합니까 FileInputStream에는 주장 (나에게)

자바와 펄 파일

을에 읽을 때 한 크기에 맞는 모든 기본 버퍼 크기를 찾기 위해 매우 열심히 노력 모두

The Javadoc for FileInputStream 그러나 자체 버퍼가있는 클래스는 언급하지 않습니다. 그리고 BufferedInputStream 클래스가 있다면 왜해야합니까? 클래스 FileInputStream의 객체에는 자체 버퍼가 있습니까? 나는 O/S 자체가 버퍼를 가질 것이라는 것을 깨닫는다; 나는 그것들에 대해 묻지 않는다.

+0

나는 당신이 당신 자신의 질문에 대답했다고 생각합니다. 'FileInputStream'에는 버퍼가 없지만'BufferedInputStream'에는 기본 버퍼'8192' 바이트가 있습니다 –

+2

소문에 근거한 소문처럼 보입니다. –

+3

Luke, 출처 : http://www.docjar.com/html/api/java/io/FileInputStream.java.html –

답변

2

당신이 이야기하는 SO 질문은 특별히 이야기하는 스트림 수업 대신 InputStreamReaderBufferedReader입니다. BufferedReader의 기본 버퍼 크기조차도 언급합니다.

나는 긴 게시물이라는 것을 알고 있지만, 첫 번째 문장을 읽은 후에 다른 질문을 포크하는 대신 모든 것을 읽어야합니다.

매트 볼, 분명히 하지에서 제공하는 링크를보고, 당신에게 대답을합니다.

2

적어도 OpenJDK에서는 그렇지 않습니다.

그러나 사용자에게 투명성이있는 한 그러한 버퍼의 존재를 금지하는 계약서에는 아무것도 표시되지 않습니다. 그러나 그 목적으로는 BufferedInputStream이 존재한다는 점을 감안하면 의미가 없습니다.