Java io 해석
5496 단어 java io
간단 한 소개
Reader 와 Writer 클래스 --- 유 니 코드 와 문 자 를 위 한 I / O 를 호 환 하 는 기능 을 제공 합 니 다.
InputStream 과 OutputStream 은 바이트 형식의 I / O 기능 을 제공 합 니 다.
사용 방식
문자: 파일 입력: FileReader - à BufferedReader - à String (또는 StringBuffer)
파일 출력: FileWriter - à BufferedWriter - à PrintWriter
바이트:
파일 입력: File -- > FileInputStream-> BufferedInputStream 파일 출력: File -- > FileOutputStream--> BufferedOutputStream
reader (실행 속도 가 빠 름) 를 사용 할 수 있 으 면 stream 을 사용 하지 않 습 니 다.사용 시 효율 을 위해 서 는 버퍼 흐름 (실행 속도 가 빠르다) 을 사용 하여 포장 해 야 한다.
파일 클래스
디 렉 터 리 목록 기 list
디 렉 터 리 검사 및 생 성
입 출력
계승 을 통 해 모든 InputStream 이나 Reader 에서 파생 된 클래스 는 read () 라 는 기본 적 인 방법 을 포함 하여 단일 바이트 나 바이트 배열 을 읽 는 데 사 용 됩 니 다.
OutputStream 이나 Writer 에서 파생 된 모든 종 류 는 write () 라 는 기본 적 인 방법 을 포함 하여 하나의 바이트 나 바이트 배열 을 쓰 는 데 사용 된다.
하나의 클래스 를 사용 하여 스 트림 대상 을 만 드 는 것 은 드 물 며, 반대로 여러 대상 을 겹 쳐 서 원 하 는 기능 을 제공 합 니 다.
입력 과 관련 된 모든 종 류 는 InputStream 에서 계승 해 야 하고 출력 과 관련 된 모든 종 류 는 OutputStream 에서 계승 해 야 합 니 다.
3. InputStream 유형
역할 은 서로 다른 데이터 소스 에서 입력 하 는 종 류 를 나타 내 는 것 이다.이 데이터 원본 은 다음 과 같 습 니 다.
1、 바이트 배열
2、 문자열 대상
3、 문건
4、 '파이프', 작업 방식 은 실제 파이프 와 유사 합 니 다. 한 끝 에서 입력 하고 다른 한 끝 에서 출력 합 니 다.
5、 다른 흐름 으로 구 성 된 서열
6、 인터넷 연결 등 다른 데이터 원본.
모든 데이터 원본 에는 상응하는 InputStream 서브 클래스 가 있다.또한 FilterInputStream 도 일종 의 InputStream 으로 'decorator' 클래스 에 기본 클래스 를 제공 합 니 다. 그 중에서 'decorator' 클래스 는 속성 이나 유용 한 인 터 페 이 스 를 입력 흐름 과 연결 할 수 있 습 니 다.
4. Output Stream 유형
바이트 배열, 파일, 파이프
또한 Filer Output Stream 은 '수식 기 (decortor)' 클래스 에 기본 클래스 를 제공 합 니 다. '수식 기' 클래스 는 속성 이나 유용 한 인터페이스 와 출력 흐름 을 연결 합 니 다.
5. FilterInputStream Filer OutputStream 에 속성 과 유용 한 인 터 페 이 스 를 추가 합 니 다.
레이 어드 된 여러 대상 을 하나의 대상 으로 동태 적 이 고 투명 하 게 직책 을 추가 하 는 방식 을 '수식 기' 모델 이 라 고 한다.
수식 기 모드 는 초기 대상 내부 에 포 장 된 모든 대상 이 같은 인 터 페 이 스 를 가지 도록 규정 하고 있다.
추상 류 'filter' 는 모든 수식 류 의 기본 클래스 이다.(수식 기 는 수 정 된 대상 과 같은 인 터 페 이 스 를 가 져 야 하지만 수식 기 는 인 터 페 이 스 를 확장 할 수 있 습 니 다. 이런 상황 은 몇 가지 'filter' 류 에서 발생 합 니 다)
FilterInputStream 을 통 해 InputStream 에서 데 이 터 를 읽 습 니 다.
FilterOutputStream 을 통 해 OutputStream 에서 데 이 터 를 기록 합 니 다.
읽 기와 쓰기
Reader 와 Writer 클래스 --- 유 니 코드 와 문 자 를 위 한 I / O 를 호 환 하 는 기능 을 제공 합 니 다.
InputStream 과 OutputStream 은 바이트 형식의 I / O 기능 을 제공 합 니 다.
Reader 와 Writer 의 계승 차원 구 조 를 디자인 하 는 것 은 주로 국제 화 를 위 한 것 이다.
데이터 의 출처 와 행방
(특히 자바. util. zip 라 이브 러 리 는 문자 가 아 닌 바이트 지향 을 사용 합 니 다.)
7. I / O 흐름 의 전형 적 인 사용 방식
문자
파일 입력: FileReader - - > BufferedReader - > String (또는 StringBuffer) while((s=in.readLine())!=null) S1+=s+””;
InputStreamReader--àBufferedReader-àString
파일 출력: (String -- à StringReader - à BufferedReader)
FileWriter-->BufferedWriter-->PrintWriter
while((s=in.readLine())!=null) out.println(lineCount++ +”: “ +s);
바이트
파일 입력: File -- > FileInputStream-> BufferedInputStream 파일 출력: File -- > FileOutputStream--> BufferedOutputStream
for (int i = 0; i < count; i++) { Buff.write("".getBytes()); }
Buff.flush();
Buff.close();
FileInputStream
그림 데이터 와 같은 원본 바이트 흐름 을 읽 는 데 사 용 됩 니 다. 문자 흐름 을 읽 으 려 면 사용 하 십시오 FileReader
.FileOutputStream
그림 데이터 와 같은 원본 바이트 의 흐름 을 기록 하 는 데 사 용 됩 니 다. 문자 흐름 을 기록 하려 면 사용 하 십시오 FileWriter
.reader (실행 속도 가 빠 름) 를 사용 할 수 있 으 면 stream 을 사용 하지 않 습 니 다. 사용 할 때 효율 을 위해 서 는 버퍼 흐름 (실행 속도 가 빠 름) 을 사용 하여 포장 해 야 합 니 다.
BufferedReader in
= new BufferedReader(new FileReader("foo.in"));
BufferedReader in
= new BufferedReader(new InputStreamReader(System.in));
PrintWriter out
= new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));
8. 저장 및 복구 데이터
DataOutput Stream 과 DataInput Stream (흐름 은 어떤 형식 으로 도)
만약 에 우리 가 DataOutputStream 을 사용 하여 데 이 터 를 기록 하면 자바 는 DataInputStream 을 사용 하여 데 이 터 를 정확하게 읽 을 수 있 습 니 다. 데 이 터 를 읽 고 쓰 는 플랫폼 이 아무리 다 르 더 라 도.
문자열 을 쓰 고 복구 할 수 있 는 유일한 방법 은 UTF - 8 인 코딩 을 사용 하 는 것 입 니 다.
9. 랜 덤 액세스 파일 읽 기: RandomAccessFile.
RandomAccessFile 은 DataInput 과 DataOutput 인 터 페 이 스 를 실현 하 는 것 외 에 I / O 계승 계층 구조의 다른 부분 에 거의 독립 되 어 있 기 때문에 InputStream 및 OutputStream 하위 클래스 의 그 어떠한 부분 과 도 조합 할 수 없습니다.
10. 파일 읽 기와 쓰기 의 실 용적 인 도구
표준 I / O: System.in System.out System.err
System.out System.err 이미 사전에 PrintStream 대상 으로 포 장 돼 즉시 사용 할 수 있다.
System.in 포장 되 지 않 은 가공 되 지 않 은 InputStream 입 니 다. 읽 기 전에 포장 해 야 합 니 다.
System. out 을 PrintWriter: PrintWriter out = new PrintWriter (System. out, true) 로 변환 합 니 다.
압축 하 다. 대상 서열 화
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 IO 학습 노트 (8): System 클래스 의 IO 지원out 출력 을 사용 할 때 출력 위 치 를 모니터 에 정의 합 니 다. err 가 표시 하 는 잘못된 표준 출력 입 니 다. err 를 사용 하여 출력 하면 됩 니 다. err 는 모두 PrintStream 의 실...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.