일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ibatis parameter
- 이클립스
- MVC
- 외래키
- 개행처리
- 예제
- 오라클
- 자바
- Eclipse
- Android SDK
- SQL
- 아이폰
- Spring
- Objective C
- IT·컴퓨터
- jdbc
- iPhone
- 설치
- Oracle
- 스프링
- SEQUENCE
- ibatis bind
- IO
- 우편번호
- zipcode
- Android
- java
- 연동
- 안드로이드
- ibatis 개행
- Today
- Total
MisoBoy Blog...
FileWriter 클래스를 이용하여 문자 데이터를 파일에 쓰는 프로그램 본문
자~ 저번에는 FileReader 클래스를 사용하여 파일에 있는 데이터를 읽어오는 프로그램을 만들어 보았습니다.
이번에는 FileWriter 클래스를 이용하여 문제 데이터를 파일에 쓰는 프로그램을 만들어 보겠습니다.
파일을 읽을 때와 마찬가지로 파일로 데이터를 출력할 때도 세 단계의 작업이 필요합니다.
파일을 열고, 파일에 데이터를 쓰고, 파일을 닫는 작업 입니다.
파일을 열고 난 다음에는 writer 라는 메소드를 이용해서 파일에 데이터를 쓸 수 있습니다.
그럼 FileWriter 클래스에 대해 알아보도록 하겠습니다.
우선 Document API 로 가서 FileWriter 를 찾아 볼까요~
Doucument API에 들어가면
문자 데이터를 파일에 작성해야 하니 입출력 클래스에 있겠죠?
JavaIO -> FileWriter 를 찾아 들어갑니다.
잘 찾아 들어가셧죠?
그 다음 Constructor Summary 부분을 봅시다.
FileWriter (File file) 가 있습니다.
어떤 기능을 하는지 세부 내용을 보기 위해 또 클릭 합니다~
이 외의 세부적인 기능은 API를 둘러보시기 바랍니다.
public FileWriter(File file) throws IOException
저번에 사용 했던 FileReader 과 달리 FileWriter 는 IOException 을 발생 시키네요
그럼 숙지하고 이제 코딩을 시작 해 봅시다.
2 import Java.io.IOException;
3
4
5 public class WriterExample{
6 public static void main(String [] args){
7 FileWriter writer = null;
8 try{
9 writer = new FileWriter("파일명.txt");
10 char [] array = { 'M', 'I', 'S', 'O', 'B', 'O', 'Y',
11 'T', 'I', 'S', 'T', 'O', 'R', 'Y'};
12 for (int cnt = 0; cnt < array.length; cnt++)
13 writer.write(array[cnt]);
14 }
15 }catch(IOException ioe){
16 System.out.println("파일로 출력할 수 없습니다.");
17 }finally{
18 try{
19 writer.close();
20 }catch(Exception e){
21 }
22 }
23 }
24 }
이번에는 배열을 사용하여 출력 하는 방법을 선택 했습니다.
FileWriter 클래스에는 char 배열을 모든 파라미터로 받는 write 메소드도 있습니다.
그 메소드는 파라미터로 받은 char 배열의 모든 문자를 파일로 출력하는 기능을 합니다.
그 메소드를 이용하면 12~13라인을 writer.write(array); 로 짧게 사용할 수 있습니다.
7라인 -> FileWriter 를 생성자로 활용합니다.
8라인 -> 아까 Doucument API FileWriter 부분에 IOException 을 발생 시킨다 했었죠? 그러므로 try~ catch 를 사용하였습니다.
9라인 -> 파일을 열기 위해 FileWriter 선언 합니다.
10라인 -> char 타입의 array 배열을 만들었습니다.
12라인 -> 배열의 문자들을 파일에 write 하기위해선 반복문이 필요하겠죠?
13라인 -> FileWriter 클래스의 write 메서드를 사용하였습니다.
15라인 -> Doucument API 에서 봤듯이 IOException 을 선언 하였습니다.
(FileWriter 생성자는 FileReader 생성자와는 달리 FileNotFoundException 이 아니라 IOException 을
발생하기 때문에, IOException 을 처리하는 catch 절 하나로 try 블록 안에서 발생하는 모든 익셉션을
처리할 수 있습니다.)
17라인 -> IOException 이 발생하든 말든 finally 로 실행 되게 하였습니다.
18라인 -> 이제 writer 를 닫는데도 익셉션이 발생 하겠죠~~ 그럼 try ~ catch 를 사용 합니다.
19라인 -> writer 를 close 해줍니다.
20라인 -> 마지막은 범위가 큰 Exception 으로 예외처리 해줍니다.
그리고 파일을 열 때 원래 있던 파일의 내용을 유지하고 싶으면 FileWriter 생성자의 두번째 파라미터로 true 값을 넘겨주면 됩니다.
ex) FileWriter writer = new FileWriter("파일명.txt", true);
이상 FileWriter 클래스를 이용해서 문자 데이터를 파일에 쓰는 프로그램 이었습니다.
기타 문의 사항은 Facebook , blog comment, e-mail 로 보내주시면 되겠습니다.
감사합니다.
'Java' 카테고리의 다른 글
[20110720] JDBC 를 통한 DB 연동 (0) | 2011.07.20 |
---|---|
[20110715] Java JDBC (JDBC 로 ORACLE 연동하여 ZIPCODE 프로그램) (0) | 2011.07.15 |
FileOutputStream 클래스를 이용해서 바이트 데이터를 파일에 쓰는 프로그램 (0) | 2011.07.12 |
Java IO FileReader 를 활용한 텍스트 파일을 읽는 프로그램 (0) | 2011.07.11 |
[Java NIO] NIO Buffer method flip() rewind() mark() reset() (1) | 2011.07.10 |