2019년 5월 29일 자바 학습 일기 IO (바이트 스트림)

IO는 요약 및 분류 스트림 :

A : 개념

처리 장치 간의 데이터 전송을위한 IO 스트림

경유하여 데이터 스트림에 대한 자바 운영

스트림 패킷의 IO 작업을위한 자바 클래스

입력 및 출력 스트림 : 흐름은 두 개의 유동로로 분할

동작 타입에 따라 두개의 스트림으로 분할된다 :

바이트 스트림 : 컴퓨터에있는 데이터 바이트의 형태로 저장되기 때문에, 바이트 스트림은 데이터를 조작 할

문자 스트림 : 문자의 스트림은, 더 편리 순수 문자 데이터를 조작 할 수 있습니다

B : IO 스트림 공통의 부모 클래스

추상 상위 클래스의 바이트 스트림 :

의 InputStream

의 OutputStream

추상 상위 클래스 문자 스트림 :

리더

작가

C : IO 프로그램 작성

사용, 수입 클래스 패키지 IO 전

때 사용, IO 예외 처리를 수행

사용 후, 자원의 해제

FileIputStream :

하나의 바이트를 읽어) (읽기

읽기 (방법은 INT는 왜 값을 반환)?

읽기 () 메소드 대신 바이트의, 반환 값 int 왜 바이트가 읽어

  중앙 11111111 읽을 때 바이트의 입력 스트림 등 오디오 사진, 등 모든 종류의 파일을 조작 할 수 있기 때문에 각각 반환 바이트를 읽는다면, 이들은 기본 문서, 바이너리 형태로 저장되어, 발생할 가능성이 있습니다

11111111 다음이 1 바이트의 타입, 센스 프로그램이 발견되지 -1이므로 int를 수신하면, 다음 데이터가 학교 미만인 판독 중지 읽을 때, 11111111은 앞에 첨가 될 경우 인 0 (24)은 4 바이트를 수집 바이트 int 타입 -1 전체 데이터가 판독되도록 할 수있는 255 종류가되고, 즉, int 타입 -1 및 표지 단부

FileOutputStream에 :

바이트 기록 시간 () 메소드 쓰기

FileOutputStream에 追加 :

사진의 복사 :

FileInputStream에 읽기

쓰기의 FileOutputStream

(가능한 바이트 배열) 방법의 복사 :

단점 : 그것은 가능한 메모리가 부족합니다

작은 배열의 정의 :

표준 형식의 작은 배열을 정의 :

BufferedInputStream을하고 BufferOutputStream 복사 :

A : 버퍼 생각

시간보다 훨씬 빠른 바이트 스트림 판독 속도의 최초 배열은 판독 속도의 바이트를 작성

이것은, 자바 자체 설계에서 이러한 배열의 완충 효과에 추가

도 고려 이러한 디자인을, 그것은 바이트 버퍼 흐름을 제공한다

B : BufferedInputStream을

내장 된 버퍼 (배열) BufferedInputStream을

BufferedInputStream을에서 바이트를 읽기

BufferedInputStream을 파일 8192에서 읽을 한 시간이 될 것입니다

 버퍼가 모두 사용되기 전까지 만 파일 8192에서 다시 읽기

C : BufferOutputStream

또한 기본 버퍼 (배열) BufferOutputStream

파일이 아닌 스트림에 직접 기록 된 프로그램 기록 바이트가 먼저 버퍼에 기록 할 때

버퍼가 가득 차면, BufferOutputStream 버퍼의 데이터가 한 번 파일에 기록됩니다 넣어 것입니다 알고

D : 데모

E : 및 읽기 - 쓰기의 작은 배열이 빨리 어느 버퍼로 읽어?

작은 어레이 사이즈의 정의는 8192 바이트하고 버퍼링 비교하면

같은 배열을 읽기 및 쓰기 작업 때문에 작은 배열의 정의는 약간 더 좋을 것이다

두 배열은 버퍼 작동

플러시 및 확대 방법의 차이 :

플러시 () 메소드

버퍼가 새로 고침하는 데 사용, 새로 고침을 다시 쓸 수 있습니다

close () 메소드

이 확대 스트림 오브젝트 버퍼 (와이면 폐쇄 쓸 수 후에 만 ​​스트림을 닫고, 또한 스트림을 종료하기 전 버퍼 플러시되지 않음), 자원, 방법의 흐름을 해제 근접

바이트 스트림은 중국어 읽기 및 쓰기 :

바이트 스트림 중국 문제를 읽고

반 중국어가 읽을 수있을 때 바이트 중국 스트림은 왜곡의 결과로 읽기

중국어의 바이트 스트림 문제를 쓰기

바이트 바이트 스트림 직영, 바이트 배열로 중국어 문자열을 쓸 필요

CRLF 쓰기 쓰기 ( "\ r에 \ n".getBytes ());

버전 1.6 및 이전 버전의 표준 흐름 예외 처리 코드 :

버전 1.7 표준 흐름 예외 처리 코드 :

이미지 암호화 :

파일을 복사합니다 :

입력 데이터는 파일로 복사됩니다 :

 

추천

출처www.cnblogs.com/clqbolg/p/10947341.html