import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Properties;
public class CopyFile {
public static void main( String[] args ) {
Properties prop = new Properties();
try {
// properties 파일 읽기
prop.load( new FileInputStream("." + File.separator + "file.properties") );
System.out.println( prop.getProperty("fileurl1") );
String srcUrl = "d:" + File.separator + "경로" + File.separator + "workspace";
String targetUrl = "d:" + File.separator + "경로" + File.separator + "workspace";
for( int i=0; i < prop.size(); i++) {
File srcFile = new File( srcUrl + prop.getProperty( "fileurl" + (i + 1) ) );
// bufferedreader 을 이용하려고 햇으나 charset 문제 떄문에 InputStreamReader 를 사용함
// 근데 의문이 드는게 bufferedReader 에 reader 를 넣는데 여기에 inputStreamReader 를 넣으면 될꺼 같은데 안되는게 신기함.
// BufferedReader br = new BufferedReader( new FileReader( srcFile ) );
InputStreamReader br = new InputStreamReader( new FileInputStream(srcFile), "utf-8" );
// 여기 역시 bufferedwriter 를 outputstreamwriter 로 변경
// stream 에 대한 공부 다시 할 필요가 있음.ㅠㅠ
// BufferedWriter bw = new BufferedWriter( new OutputStreamWriter( new FileOutputStream( "c:/test" + i + ".txt" ), "utf-8" ) );
OutputStreamWriter bw = new OutputStreamWriter( new FileOutputStream( targetUrl + prop.getProperty( "fileurl" + (i + 1) ) ), "utf-8" );
System.out.println("bw.getEncoding() : " + bw.getEncoding()); // encoding 확인
System.out.println("system : " + System.getProperty("file.encoding")); // 현재 system encoding 확인
char[] buf = new char[512];
int cnt;
while( (cnt = br.read(buf)) != -1 ) {
bw.write(buf, 0, cnt);
bw.flush();
}
bw.close();
br.close();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}