I. 서론
- 이 섹션 간단히 필터 리더와 라이터와 관련된 버퍼에 관한 설명 의 BufferedReader, BufferedWriter로는
두 구체적 류
2.1 BufferedReader
2.1.1
역할 : BufferedReader로는 문자 입력 스트림 버퍼를 제공하기 위해, 당신은 많은 IO 처리 속도를 높일 수 있습니다2.1.2
의미 :- 당신은 데이터의 덩어리 한 번, 읽기 당 하나의 바이트 네트워크없이 또는 디스크에서 읽을 수 있습니다. 디스크 많은 양의 데이터를 액세스 할 때 특히, 일반적으로 IO 훨씬 빠르게 버퍼 수 있습니다.
- 입력 스트림에 대한 버퍼를 제공 할뿐만 아니라, 나머지는 실질적으로 유사한 형태의 BufferedReader 리더. 또 다른 BufferedReader의 추가 의
readLine()
방법은 쉽게 한 번에 문자의 전체 행에서 읽을 수 있습니다.
2.1.3
첨부 파일 :2.1.4
데모:Reader input = new BufferedReader(new FileReader("C:/data/input-file.txt")); /*也可以通过传递构造函数的第二个参数*/ Reader input = new BufferedReader(new FileReader("C:/data/input-file.txt", 10 * 1024)); String str = ""; while ((str = input.readline()) != null) {}
2.2 BufferedWrider
2.2.1
역할 : BufferedWriter의 인스턴스에 작가에 대한 버퍼를 제공2.2.2
의의 : 버퍼 크게 속도를 가속화 할 수 있습니다. 버퍼는 네트워크 또는 디스크,하지만 더 큰 블록을 작성하는 시간에 문자를 쓸 시간이 아니다. 이 훨씬 빠르게 일반적으로, 데이터의 큰 금액에 대한 특정 디스크 액세스한다.2.2.3
데모:int bufferSize = 8 * 1024; FileWriter fw = new FileWriter("data.bin"); try (BufferedWriter bw = new BufferedWriter(fw, bufferSize)){ //写入后不加换行符,writeline(String str)默认加上! bw.write("Hello World"); bw.flush(); //try() 语句帮我们省了写 bw.close(); 的功夫 }
- 부록 : 입력 스트림 버퍼를 추가로 BufferedWriter의 첨가는 버퍼 행동 라이터 (비 패킷 스트림)과 매우 유사하다.
- 그러나 버퍼 추가 추가 의
newline()
방법을, 그것은 기본 라이터에 새로운 라인 문자를 쓸 수 있습니다. - 당신이 절대적으로 확신 지금 버퍼로부터 삭제하고 디스크 또는 네트워크에 배치 된 때까지 문자를 작성해야하는 경우 또한, 당신은 전화를해야 할 수도 있습니다
flush()
.
- 그러나 버퍼 추가 추가 의
FileWriter
인스턴스에없는try()
이 평균, 시도 -과 - 자원을 자동으로이 파일의 출력 스트림 인스턴스를 해제하지 블록, 문에 정의 않습니다?
내 다른 문서에서이 - "... Chap10 IO 스트림 직렬화" 같은에있다 설명!
- 부록 : 입력 스트림 버퍼를 추가로 BufferedWriter의 첨가는 버퍼 행동 라이터 (비 패킷 스트림)과 매우 유사하다.
셋째,와` BufferedInputStream을, BufferedOutoutStream의 차이
- 주요 차이점 :
- 다른 운영 목적 :
BufferedReader
동작 문자 . 그냥 당신이 버퍼를 추가 할 수의 BufferedReader 리더, 리더 패키지 필요 (참고 : 기본 버퍼 크기는 8192 바이트, 8킬로바이트)BufferedInputStream
작업 원 바이트 . 객체의 InputStream한다 포장