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) 로 변환 합 니 다.
압축 하 다.   대상 서열 화

좋은 웹페이지 즐겨찾기