5-2.(1) 문자기반 스트림

zhyun·2020년 9월 26일
0

HighJava

목록 보기
42/67

1.문자기반 스트림

  • 문자(char)단위로 스트림을 처리하기 위한 스트림을 말한다.
  • Reader는 입력용 문자기반 스트림
  • Writer는 출력용 문자 스트림
  • Reader or Writer가 스트림 이름에 붙어있다면, 문자기반스트림
  • 문자기반 스트림은 문서(txt)파일 입출력하기 적합

2.문자기반 스트림 종류

Reader

  • Bufferd~
    • Reader스트림에 버퍼기능을 제공하는 보조스트림, 라인단위 읽기 가능
  • LineNumber~
    • Reader스트림에 버퍼기능 제공하는 보조스트림, 라인 번호를 유지
  • CharArray~
    • 문자배열로부터 문자읽기 위한 스트림
  • InputStream~
    • 바이트기반 스트림을 문자기반 스트림인 Reader로 변환해주는 보조스트림
  • File~
    • 파일로부터 바이트를 읽을때 문자 단위 스트림으로 처리해 주는 스트림
  • Filter~
    • 필터(기능)적용을 위한 추상클래스
  • Pushback~
    • 읽어들인 문자를 되돌리는 (pushback)기능을 제공하는 스트림
  • Piped~
    • 파이프(Pipe) 기능을 이용한 스트림 처리를 위한 기능 제공하는 스트림
  • String~
    • 문자열로부터 문자를 읽기 위한 스트림

메서드

  • read()

Writer

  • Buffer~
    • Writer스트림에 버퍼기능을 제공하는 보조 스트림
  • CharArray~
    • 문자배열에 문자를 쓰기 위한 스트림
  • Filter~
    • 파일에 문자 단위 스트림으로 쓰는 기능을 제공해주는 스트림
  • OutputStream~
    • 바이트기반스트림을 문자기반 스트림은 Writer로 변환해주는 보조 스트림
  • File~
    • 파일에 데이터를 쓸 때 문자 단위 스트림으로 변환해 주는 스트림
  • Print~
    • Writer스트림에 다향한 타입의 데이터 출력 기능 제공하는 스트림
  • Piped~
    • PipedReader에 출력기능 제공하는 스트림
  • String~
    • 문자열 출력을 위한 스트림

메서드

  • write()

1.InputStreamReader & FileWriter 예시

T07_FileWriter
InputStreamReader

  • 바이트기반스트림을 문자기반스트림으로 변환해주는 보조스트림
  • 콘솔과 연결된 입력용 문자 스트림 생성
  • InputStreamReader 객체 생성 => 사용자 입력 (System.in)
  • Console창에 입력창 뜨고 사용자가 입력한뒤 Ctrl+z (엔터치고) 실행 시
    지정경로에 파일 생성되고 그안에 입력한 문자 저장됨
public class T07_FileWriter {
	public static void main(String[] args) {
InputStreamReader isr = new InputStreamReader(System.in);
		
		FileWriter fw = null;//파일 출력용 문자기반 스트림
		
		try {
			//파일 출력용 문자 스트림 객체 생성
			fw = new FileWriter("d:/D_Other/testChar.txt");
			
			int c;
			
			System.out.println("아무거나 입력하세요");
			
			//콘솔에서 입력할 때 입려긔 끝 표시는 Ctrl +z키를 누르면 된다.
			while((c = isr.read()) != -1) { // Ctrl+z 누르면 -1
				fw.write(c);//콘솔에서 입력받은 값을 파일에 출력하기
			}
			System.out.println("작업 끝...");
			
			isr.close();
			fw.close();
		}catch(IOException ex) {
			ex.printStackTrace();
		}
	}
}

2.FileReader 예시

  • FileReader
    : 파일로부터 바이트를 읽을 때 문자단위스트림으로 처리해주는 스트림
    : 문자를 int형으로 받고 char형으로 출력
public class T08_FileReaderTest {
	public static void main(String[] args) throws IOException {
		//문자 기반 스트림을 이용한 파일 내용 읽기
		FileReader fr = null;
		
		//문자 단위의 입력을 담당하는 Reader형 객체 생성
		fr = new FileReader("d:/D_Other/testChar.txt");
		
		int c;
		
		while((c=fr.read())!=-1) {
			System.out.print((char)c);
		}
		
		fr.close();
	}
}
profile
HI :)

0개의 댓글