개인참고자료/자바(네트워크)
문자 스트림 - 텍스트 파일 복사(FileReader, FileWriter)
경진
2008. 7. 14. 00:18
FileReader와 FileWriter를 이용한 텍스트 파일 복사
※ 실제로 개발할 때는 파일을 복사하는 프로그램의 작성은 바이트 단위 IO 클래스인 FileInputStream과 FileOutputStream을 이용하는 것이 좋다. 모든 파일이 바이트 단위로 구성되어 있기 때문이다.
arg[0]으로 지정한 파일로부터 읽어 들이는 FileReader객체와 arg[1]로 지정한 파일에 쓰는 FileWriter 객체를 생성한다.
FileReader에 있는 read 메소드를 이용해서 배열 buffer에 파일로 부터 문자열을 읽어 들이고 Fileriter에 있는 Writer 메소드를 이용해서 배열 buffer에 저장된 문자열을 파일에 출력한다.
※ 실제로 개발할 때는 파일을 복사하는 프로그램의 작성은 바이트 단위 IO 클래스인 FileInputStream과 FileOutputStream을 이용하는 것이 좋다. 모든 파일이 바이트 단위로 구성되어 있기 때문이다.
import java.io.*;
public class FileCopy {
public static void main(String[] args) {
if(args.length != 2){
System.out.println("사용법 : java FileCopy 파일명1 파일명2");
System.exit(0);
} //if
FileReader fr = null;
FileWriter fw = null;
try{
fr = new FileReader(args[0]);
fw = new FileWriter(args[1]);
char[] buffer = new char[512];
int readcount = 0;
while((readcount = fr.read(buffer)) != -1){
fw.write(buffer,0,readcount);
}
System.out.println("파일을 복사하였습니다.");
}catch(Exception ex){
System.out.println(ex);
}finally{
try{
fr.close();
fw.close();
}catch(Exception e){}
}
}
}
public class FileCopy {
public static void main(String[] args) {
if(args.length != 2){
System.out.println("사용법 : java FileCopy 파일명1 파일명2");
System.exit(0);
} //if
FileReader fr = null;
FileWriter fw = null;
try{
fr = new FileReader(args[0]);
fw = new FileWriter(args[1]);
char[] buffer = new char[512];
int readcount = 0;
while((readcount = fr.read(buffer)) != -1){
fw.write(buffer,0,readcount);
}
System.out.println("파일을 복사하였습니다.");
}catch(Exception ex){
System.out.println(ex);
}finally{
try{
fr.close();
fw.close();
}catch(Exception e){}
}
}
}
FileReader fr = null;
FileWriter fw = null;
try{
fr = new FileReader(args[0]);
fw = new FileWriter(args[1]);
FileWriter fw = null;
try{
fr = new FileReader(args[0]);
fw = new FileWriter(args[1]);
arg[0]으로 지정한 파일로부터 읽어 들이는 FileReader객체와 arg[1]로 지정한 파일에 쓰는 FileWriter 객체를 생성한다.
char[] buffer = new char[512];
int readcount = 0;
while((readcount = fr.read(buffer)) != -1){
fw.write(buffer,0,readcount);
}
System.out.println("파일을 복사하였습니다.");
int readcount = 0;
while((readcount = fr.read(buffer)) != -1){
fw.write(buffer,0,readcount);
}
System.out.println("파일을 복사하였습니다.");
FileReader에 있는 read 메소드를 이용해서 배열 buffer에 파일로 부터 문자열을 읽어 들이고 Fileriter에 있는 Writer 메소드를 이용해서 배열 buffer에 저장된 문자열을 파일에 출력한다.