●문자 스트림(Character Stream)
- 자바 스트림 클래스 중에서 처리할 데이터가 문자인 경우에 사용한다. 문자 스트림은 16bit 유니코드 문자를 주고 받는다.
Reader Writer |
입출력을 위한 문자 스트림의 최상위 추상 클래스 |
FileReader FileWriter |
파일 입출력을 위한 문자 스트림 클래스 |
BufferedReader BufferedWriter |
입출력 스트림에 버퍼링 기능을 추가해주는 스트림 |
PrintWriter |
출력을 위한 동작을 지원하는 문자 스트림 |
InputStreamReader OutputStreamWriter |
바이트와 문자 변환을 위한 입출력 스트림 |
●FileReader, FileWriter 클래스
- 기본 문자 인코딩 방식으로 텍스트 파일을 읽고 쓰기 위해 제공되는 문자 스트림 클래스이다.
-FileReaderWriter
import java.io.*; public class FileReaderWriter { public static void main(String args[]){ try{ FileReader input = new FileReader("a.txt"); FileWriter output = new FileWriter("b.txt"); int a; while((a=input.read()) != -1){ output.write(a); } input.close(); output.close(); }catch(IOException e){ e.printStackTrace(); } } } |
●BufferedReader, BufferedWriter 클래스
- 연결된 스트림에 버퍼링 기능을 한다.
- BufferedReaderWriter.java
import java.io.*; public class BufferedReaderWriter { public static void main(String []args){ try{ if(args.length<1){ System.out.println("xx"); }
String str; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("str.txt"))); while((str = br.readLine())!=null){ bw.write(str+"\n"); } br.close(); bw.close(); }catch(IOException e){ e.printStackTrace(); } } } |
●InputStreamReader, OutputStreamWriter 클래스
- 바이트와 문자의 변환을 담당하는 클래스이다.
- IOReader.java
import java.io.*; public class IOReader { public static String getString(){ StringBuffer s = new StringBuffer(); Reader reader = new InputStreamReader(System.in); char ch; try{ while((ch = (char)reader.read())!= '\n'){ s.append(ch); } }catch(Exception e){ s = new StringBuffer(""); } return s.toString().trim(); } public static int getInt(){ String s = getString(); int n; try{ n = Integer.parseInt(s); }catch(Exception e){ n = 0; System.out.println("숫자 에러"); } return n; } public static void main(String[] args){ String name; int age; IOReader reader = new IOReader(); System.out.println("이름:"); name = reader.getString(); System.out.println("나이:"); age = reader.getInt(); System.out.println("이름:"+name+" 나이:"+age); } } |
'프로그래밍 > java' 카테고리의 다른 글
java 오늘이 무슨 요일인지 구하기 (0) | 2015.01.06 |
---|---|
자바 java.io 패키지, File클래스 (0) | 2014.04.11 |
자바 java.io 패키지, 바이트 스트림(Byte Stream) (0) | 2014.04.11 |
자바 java.io 패키지, 스트림 (0) | 2014.03.07 |
자바 네트워크 프로그래밍 UDP 소켓 (0) | 2014.02.09 |
댓글