io 류

4842 단어 데이터 구조
흐름 의 개념    흐름 은 일반적으로 입력 흐름 과 출력 흐름 두 가지 로 나 뉘 지만 이런 구분 은 절대적 인 것 이 아니다.예 를 들 어 하나의 파일 이 데 이 터 를 쓸 때 출력 흐름 입 니 다.그 중에서 데 이 터 를 읽 을 때, 그것 은 입력 흐름 이다.물론 키 보드 는 입력 흐름 일 뿐 화면 은 출력 흐름 일 뿐이다.입 출력 흐름 은 전송 중의 끊 임 없 는 데이터 집합 을 가리킨다.
 
2. 흐름 의 분류 흐름 은 데 이 터 를 처리 하 는 단위 에 따라 두 가지 로 나 눌 수 있 습 니 다. 바이트 흐름 과 문자 흐름 입 니 다. (메모리 에 비해)
 
                입력 클래스             출력 흐름 클래스 바이트 흐름 클래스 InputStream   Output Stream 문자 흐름 클래스 리더            Writer
상기 네 개의 I / O 흐름 류 는 모두 추상 류 이 므 로 직접 사용 할 수 없다.
 
흐름 구조
1、InputStream
FileInputStream: 파일 시스템 의 한 파일 에서 입력 바 이 트 를 가 져 옵 니 다.어떤 파일 을 사용 할 수 있 는 지 는 호스트 환경 에 달 려 있다.
                            그림 데이터 와 같은 원본 바이트 흐름 을 읽 는 데 사용 합 니 다.문자 흐름 을 읽 으 려 면 FileReader 를 사용 하 는 것 을 고려 하 십시오.
 
FilterInputStream: 다른 입력 흐름 을 포함 합 니 다. 이 흐름 을 기본 데이터 원본 으로 사용 합 니 다. 데 이 터 를 직접 전송 하거나 추가 기능 을 제공 할 수 있 습 니 다.
                               클래스 자 체 는 입력 흐름 을 포함 하 는 InputStream 에 모든 요청 을 전달 하 는 모든 방법 을 간단하게 다시 쓸 뿐이다.
                               이러한 하위 클래스 는 이러한 방법 중의 일부 방법 을 다시 쓸 수 있 고 추가 적 인 방법 과 필드 도 제공 할 수 있다.BufferedInputStream: 다른 입력 흐름 에 버퍼 입력 과 mark 와 reset 방법 을 지원 하 는 기능 을 추가 합 니 다.창설 중
                                        BufferedInputStream 시 내부 버퍼 배열 을 만 듭 니 다.흐 르 는 바 이 트 를 읽 거나 건 너 뛸 때
                                        필요 에 따라 포 함 된 입력 흐름 에서 이 내부 버퍼 를 다시 채 우 고 한 번 에 여러 바이트 를 채 웁 니 다.mark 조작 기록 입력
                                        스 트림 의 한 점, reset 작업 은 포 함 된 입력 스 트림 에서 새 바이트 를 가 져 오기 전에 마지막 으로 다시 읽 습 니 다.
                                        mark 작업 후 읽 은 모든 바이트 입 니 다.
 
2.OutputStream
FileOutputStream: 파일 출력 흐름 은 데 이 터 를 쓰기 File 또는 FileDescriptor 의 출력 흐름 입 니 다.파일 을 사용 할 수 있 는 지 여부
                               창설 은 기초 플랫폼 에 달 려 있다.특히 일부 플랫폼 에 서 는 한 번 에 하나의 FileOutputStream (또는 다른 파일 쓰기 쌍 만 허용 합 니 다.
                               ) 파일 을 열 어 기록 합 니 다.이러한 상황 에서 관련 된 파일 이 열 렸 다 면 이러한 구조 방법 은 실 종 될 것 입 니 다.
                               지다FileOutputStream 이미지 데이터 와 같은 원본 바이트 의 흐름 을 기록 하 는 데 사 용 됩 니 다.문자 흐름 을 쓰 려 면 고려 하 십시오.
                               쓰다
 
FilterOutputStream: 출력 흐름 을 걸 러 내 는 모든 종류의 초 클래스 입 니 다.클래스 자 체 는 모든 요청 을 포함 하 는 출력 흐름 에 전달 하 는 것 을 간단하게 다시 쓸 뿐 입 니 다.
                                 FileWriter 의 모든 방법.
- BufferedOutputStream: 버퍼 의 출력 흐름 을 실현 합 니 다.이러한 출력 흐름 을 설정 하면 프로그램 은 각 바이트 를 바 텀 출력 흐름 에 기록 할 수 있 습 니 다.
                                          바이트 마다 바 텀 시스템 을 호출 할 필요 가 없습니다.
 
3.Reader
Buffered Reader: 문자 입력 흐름 에서 텍스트 를 읽 고 각 문 자 를 버퍼 링 합 니 다.일반적으로 Reader 가 하 는 모든 읽 기 요청 은 바 텀 문 자 를 가 져 옵 니 다.
                            바이트 흐름 에 대한 읽 기 요청 이 있 습 니 다.따라서 모든 read () 작업 을 Buffered Reader 로 포장 하 는 것 이 비용 이 많이 들 수 있 습 니 다.
                            높 은 Reader (예 를 들 어 FileReader 와 InputStreamReader).예컨대                            BufferedReader in = new BufferedReader(new FileReader("foo.in"));
InputStreamReader: 바이트 흐름 을 문자 흐름 으로 변환 합 니 다.매번 InputStreamReader 의 read () 방법 을 호출 할 때마다 밑 에서
                                  층 입력 흐름 은 하나 이상 의 바이트 를 읽 습 니 다.바이트 에서 문자 로 의 효과 적 인 변환 을 사용 하려 면 바 텀 스 트림 에서 더 많은 것 을 미리 읽 을 수 있 습 니 다.
                                  현재 읽 기 작업 에 필요 한 바 이 트 를 초과 하도록 바이트 입 니 다.최고 효율 에 도달 하기 위해 서 는
                                  Buffered Reader 에 InputStreamReader 를 포장 합 니 다.예 를 들 면:                                  BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); ---FileReader: 문자 파일 을 읽 는 편리 한 클래스 입 니 다.이러한 구조 방법 은 기본 문자 인 코딩 과 기본 바이트 버퍼 크기 가 모두 적당 하 다 고 가정 합 니 다.... 에서 비롯 되다
                        이 값 을 정 하면 먼저 FileInputStream 에 InputStreamReader 를 구성 할 수 있 습 니 다.FileReader 는 글 자 를 읽 는 데 사 용 됩 니 다.
                        。원본 바이트 흐름 을 읽 으 려 면 FileInputStream 을 사용 하 는 것 을 고려 하 십시오.
StringReader: 원본 은 문자열 의 문자 흐름 입 니 다.구조 방법 StringReader (String s) 에서 새 문자열 reader 를 만 듭 니 다.
 4.Writer
Buffered Writer: 텍스트 를 문자 출력 흐름 에 기록 하고 각 문 자 를 버퍼 링 하여 단일 문자, 배열, 문자열 의 효율 적 인 기록 을 제공 합 니 다.
Output Stream Writer: 바이트 흐름 을 문자 흐름 으로 변환 합 니 다.
                                   Writer out  = new BufferedWriter(new OutputStreamWriter(System.out));---FileWriter: 문자 파일 을 쓰 는 편리 한 클래스 입 니 다.이러한 구조 방법 은 기본 문자 인 코딩 과 기본 바이트 버퍼 크기 를 모두 받 아들 일 수 있다 고 가정 합 니 다.... 하려 하 다
              이 값 을 스스로 지정 하면 FileOutputStream 에 OutputStream Writer 를 만 들 수 있 습 니 다.
              파일 을 사용 할 수 있 는 지, 만 들 수 있 는 지 여 부 는 바 텀 플랫폼 에 달 려 있 습 니 다.특히 일부 플랫폼 에 서 는 한 번 에 하나의 FileWriter (또는 그) 만 허용 합 니 다.
              그 는 파일 을 열 어 기록 했다.이러한 상황 에서 관련 된 파일 이 열 렸 다 면 이러한 구조 방법
              실패 할 것 이다.OutputStream 문자 흐름 을 기록 하 는 데 사 용 됩 니 다.원본 바이트 흐름 을 쓰 려 면 사용 을 고려 하 십시오 FileWriter.

좋은 웹페이지 즐겨찾기