프로그래밍 공부/JAVA

JAVA-I/O(입출력) 문자기반 스트림

뚜뚜:) 2020. 11. 3. 18:18

2. 문자기반 스트림  : 입출력 단위가 문자(char)

문자단위로 데이터를 읽어오는 것  (byte일 경우 한글이 깨지는 현상-> 문자기반스트림으로 변경하여 출력)

 

<입력 스트림 예제>

try {
			
			//문자기반의 파일 입력용 스트림 객체 생성
			FileReader fr = new FileReader("D:/D_Other/test.txt");
			
			int c;
			
			while ((c=fr.read()) != -1) {
				System.out.print((char)c);

			}
			
			fr.close();
			
		}catch (IOException e) {
			// TODO: handle exception
		}

<출력 스트림 예제>

try {
			
			// 바이트 기반의 스트림을 문자기반 스트림으로 변환해주는 스트림 객체 생성
			//콘솔로 입력한 데이터를 가져오기 위한 스트림 객체
			InputStreamReader isr = new InputStreamReader(System.in);
			
			// 파일로 저장하는 문자기반 스트림 객체 생성
			FileWriter fw = new FileWriter("d:/d_other/test.txt");
			
			System.out.println("아무거나 입력하세요. (입력의 끝은 ctrl + z 키 입니다) >");
			
			
			int c;	//입력받은 값을 담은 변수 (int : 컴퓨터의 코드는 숫자) 
		
			while((c=isr.read()) != -1) {
				fw.write(c);	//콘솔로 입력한 값을 파일로 출력한다.
			}
			
			
			
			isr.close();
			fw.close();
			
			
		} catch (IOException e) {
			
		}
		
		System.out.println("종료되었습니다");
		
	}

 

 

3. 보조스트림

: 스트림의 기능을 향상시키거나 새로운 기능을 추가하기 위해 사용, 독립적으로 입출력을 수행할 수 없다.