컴퓨터프로그래밍/JAVA

JAVA - Reader/Write 클래스

zelkova 2013. 10. 13. 17:35


 <목차로 돌아가기>


Reader/Writer 클래스



FileReader클래스

 FileReader 클래스는 파일에서 데이터를 읽는 클래스이다. 이 클래스의 생성자와 메소드는 다음과 같다.


java.io.FileReader 클래스의 생성자

FileReader(File file)

file객체가 가리키는 파일에 대한 FileReader객체를 생성한다.


FileReader(String fileName)

지정된 파일 이름에 대한 FileReader 객체를 생성한다.


java.io.FileReader 클래스의 메소드

void 

close()

입력 스트림을 닫는다.


String getEncoding()

입력 스트림이 사용하고 있는 문자 인코딩을 반환한다.


int 

read()

입력스트림에서 문자데이터를 읽는다. 반환값이 -1일 경우 더 이상 읽을 데이터가 없음을 의미한다.


int

read(char[] cbuf)

입력 스트림에서 최대 b.length 문자의 데이터를 지정된 문자 배열 단위로 읽는다.


abstract int 

read(char[] cbuf, int off, int len)

입력 스트림에서 off위치부터 최대 len 개까지의 데이터를 지정된 문자 베열 단위로 읽는다.


boolean

ready()

이 스트림을 읽을 수 있으면 true를, 그렇지 않으면 false를 반환한다.


long

skip(long n)

입력 스트림에서 n개 문자만큼 건너뛴다


FileWriter 클래스

FileWriter 클래스는 파일로부터 데이터를 쓰기위한 클래스이다. 이 클래스의 생성자와 메소드는 다음과 같다.


java.io.FileWriter 클래스의 생성자

FileWriter(File file)

File 객체가 가리키는 파일을 위한 FileWriter객체를 생성한다.


FileWriter(File file, boolean append)

지정된 append 모드로 File 객체가 가리키는 파일을 위한 FileWriter 객체를 생성한다.


FileWriter(String fileName)

지정된 이름을 가진 파일을 위한 FileWriter 객체를 생성한다.


FileWriter(String fileName, boolean append)

지정된 append 모드로 지정된 이름을 가진 파일을 위한 FileWriter 객체를 생성한다.

append 모드가 true라면 파일 끝에 데이터를 추가하고 false라면 파일 앞부분부터 데이터를 쓴다.


java.io.FileWriter 클래스의 메소드

void

close()

출력되지 않는 데이터가 있으면 먼저 출력하고 스트림을 닫는다.


void

flush()

버퍼링되어 아직 기록되지 않은 데이터를 출력 스트림을 닫는다.


void

write(char[] cbuf)

b.length 문자의 데이터를 출력 스트림에 기록한다.


void write(char[] cbuf, int off, int len)

지정된 문자 배열의 off 위치부터 len개까지의 데이터를 출력 스트림에 기록한다.


write(String str)

지정된 문자열을 출력 스트림에 기록한다.


Write(String str, int off, int len)

지정된 문자열의 off위치부터 len개까지의 데이터를 출력 스트림에 기록한다.


FileReader/FileWriter 클래스 예제

import java.io.FileReader;

import java.io.FileWriter;


public class Test{

public static void main(String[] args) throws Exception{

FileWriter fw = new FileWriter("test.txt");


for(char c = '9'; c > '0'; c-){

fw.write(c);

}

fw.flush()

fw.close()


FileReader fr = new FileReader("test.txt");


int ch = 0;

while((ch = fr.read()) > 0) {

System.out.print((char) ch);

}

}

fr.close();

}





반응형