java의 입출력 스트림
입출력 스트림이란? 자바의 입력 스트림은 네트워크,키보등과 같은 이렵장치와 연결도어 있으며, 입력장치로부터 데이터가 프로그램으로 순서대로 흘러간다. 자바의
출력 스트림은 프로그램에 화면이나 프린터등과 같은 출력장치에 순서대로 흘러보낸다. 그리고 스트림으로 통해 흘러가는 기본데이터 단위는 바이트이다.
▶ InputStream/OutputStream : 추상클래스이며,바이트 입출력 처리를 위한 클래스이다.
▶ FileInputStream/FileOutputStream: 파일 입출력을 위한 클래스이며, 파일로부터
바이너리 데이터를 읽거나 파일에 바이너리 데이터를 저장한다.
▶ DateInputStream/DataOutputStream: boolean,char,byte,short,int,long,float,double타입의 값을 바이너리 형태로 입출력한다. 문자열도 바이너리 형태로 입출력한다.
윈도우에있는 System.ini 파일 읽고 화면에 출력하기 프로그램
FileInputStream으로 system.ini 파일과 연결된 바이트 스트림을 생성하여
((c=i.read() !=-1) //파일의 끝을 만나면 -1리턴하여 System.out.print((char)c);
바이트 C를 문자로 변환하여 화면에 출력합니다.
in.close(): 더이상 스트림을 읽을수 없습니다.
※이번에는 FileOutStrem을 이용하여 파일 쓰기 프로그램 생성해봅시다.
FileOutputStream에서 fos.wrtie(n);파일에 결과 값을 바이너리로 저장한다.
fos.close();스트림을 닫는다. fps= new FileInputStream("c:/temp/tile.txt");
이용해서 파일을 다시 입력 스트림으로 연결한다.
※ InputStreamReader이용하여 MS949문자 집합으로 한글텍스트 파일 읽고 출력하기 프로그램만들어 봅시다.
여기에서 in =new InputStreamReader(fin,"MS949"); ms에서 만든 한글 확장완성형 문자 집합//올바른 문자 집합 지정합니다.
만약 여기서 문자집합을 US-ASCII로 지정하며 어떻게 될까요?
느낌표로 프로그램이 출력됩니다.
이번에는 키보드에서 입력받은 데이터를 c:/temp/file.text 저장하고 메모장
에서 실행 결과를 볼수 있습니다.
실행을 시키 후 I like java입력하고 Enter키 치고 ctrl+z키 입력하면 저장되 것을
메모장에서 보실수 있습니다.