1> FileOuputStream
FileOuputStream 클래스는 데이터를 파일에 바이트 스트림으로 저장하기 위해 사용된다. 파일명이나 File 클래스의 객체를 인수로 넘겨줌으로써 시스템에 파일을 직접 생성할 수 있는데, 기본적으로, 파일이 이미 존재한다면 그 파일에 덮어쓰게 되므로, 기존의 내용은 사라지게 된다. 역시 FileOutputStream 클래스도 OutputStream 클래스의 하위클래스로서, OutputStream 클래스의 기본적인 메소드들을 상속받거나 재정의하여 사용할 수 있다.
가. FileOutputStream 생성자
ㅁ FileOutputStream(File file): 주어진 File 객체가 가리키는 파일을 바이트 스트림으로 쓰기 위한 FileOutputStream 객체를 생성. 기존의 파일이 존재할 때는 디폴트로 그 내용을 지우고 새로운 파일을 생성.
ㅁ FileOutputStream(FileDescriptor fdObj): 주어진 FileDescriptor 객체가 가리키는 파일을 바이트 스트림으로 쓰기 위한 FileOutputStream 객체를 생성. 기존의 파일이 존재할 때는 디폴트로 그 내용을 지우고 새로운 파일을 생성.
ㅁ FileOutputStream(String name): 주어진 이름이 가리키는 파일을 바이트 스트림으로 쓰기 위한 FileOutputStream 객체를 생성. 기존의 파일이 존재할 때는 디폴트로 그 내용을 지우고 새로운 파일을 생성.
ㅁ FileOutputStream(String name, boolean append): 주어진 이름이 가리키는 파일을 바이트 스트림으로 쓰기 위한 FileOutputStream 객체를 생성. 기존의 파일이 존재할 때는 주어진 append 값에 따라 새로운 파일을 생성하거나 또는 기존의 내용에 추가.
나. FileOutputStream 예제
WriteFile.java : FileOuputStream 객체를 이용해서 키보드로 입력받은 데이터를 "WriteFile.txt" 파일에 출력한다. 만약 "WriteFile.txt" 파일이 없으면 새로 생성하고 있다면 덮어쓴다.
|
<< 실행 결과 >>
|
WriteFile.java 파일이 있는 폴더에 가서 WriteFile.txt라는 파일이 생성되었는지 확인하고 데이터가 저장되었는지 확인한다.
2> FileWriter 클래스
FileWriter 클래스는 출력할 유니코드 문자를 디폴트 문자 인코딩의 바이트로 변환하여 파일에 저장하고자 할 경우에 사용한다. 이 클래스는 OutputStreamWriter 클래스의 서브 클래스로 유니코드를 바이트로 변환하는 기능을 수행한다. FileOutputStream 클래스와 마찬가지로 파일명이나 File 클래스의 객체를 인수로 넘겨줌으로 시스템에 파일을 직접 생성하게 되는데, 기본적으로, 파일이 이미 존재한다면 그 파일을 덮어쓰게 된다.
가. FileWriter 클래스 생성자
ㅁ FileWriter (File file): 주어진 File 객체를 이용하여 FileWriter 객체를 생성.
ㅁ FileWriter (FileDescriptor fd): 주어진 FileDescriptor객체를 이용하여 FileWriter 객체를 생성.
ㅁ FileWriter (String fileName): 주어진 파일을 열어 FileWriter 객체를 생성.
ㅁ FileWriter(String fileName, boolean append): 주어진 파일을 append 값에 따라 읽기/추가 모드로 열어 FileWriter 객체를 생성.
파일 복사하는 예제 만들기
다음 소스는 FileInputStream 객체와 FileOutputStream 객체를 이용하여 파일을 복사하는 소스이다.
이 예제를 실행하면 인자를 주면 인자를 복사할 원본 파일이름으로 간주하여 생성자에게 파일이름을 넘겨주면 생성자는 이 파일이름을 이용해서 FileInputStream을 만들고 readUntilEnd() 메서드에서는 파일을 읽어들이면서 화면에 출력하는 동시에 "복사본.txt"이라는 FileOutputStream 을 만들어서 그 내용을 그대로 "복사본.txt"파일에 저장한다.
따라서 실행시는 원본 파일을 인자로 주어야 하면 실행 후 실행파일이 있는 해당 폴더에 가서 "복사본.txt"이 생성되고 그 내용이 복사가 되었는지 확인한다.
|
<< 실행결과 >>
도스창에서 다음과 같이 실행 한다. 당연히 filetest.txt 파일은 클래스 파일과 같은 폴더에 있어야 한다.
C:\>javaExample>java FileStreamTest filetest.txt
|
출처 : getJAVA™
'컴퓨터 > 언어,프로그래밍' 카테고리의 다른 글
자바스크립트 두번째 요약정리 (0) | 2009.07.07 |
---|---|
자바스크립트 첫번째 요약정리 (0) | 2009.07.07 |
java 자바 에서 파일에 내용추가 하는 방법 (0) | 2009.06.20 |
자바 !! io,한줄받기,파일읽고쓰기,FileReader,FileWriter (0) | 2009.06.20 |
자바 파일 읽고쓰기 (0) | 2009.06.20 |