하나의 파일을 읽어 들여서 형식에 맞게끔 새로운 파일을 생성한다.
간단한 예이니 참고해서 응용하면 괜찮을듯 하다.
import java.io.*;
import java.util.StringTokenizer;
public class FileTokenizer {
public void readFile(int stCnt, String stChar) throws IOException {
/* 읽어 올 파일 */
File readFile = new File("oui.txt");
if(!readFile.exists()) { System.out.println("file not exists!"); }
FileReader fr = new FileReader(readFile);
BufferedReader br = new BufferedReader(fr);
/* 생성 될 파일 */
File writeFile = new File("oui2.txt");
FileWriter fw = new FileWriter(writeFile);
BufferedWriter bw = new BufferedWriter(fw);
StringTokenizer st = null;
StringBuffer strBuf = null;
String ch = "";
try{
while((ch=br.readLine()) != null){
if(ch == null) { break; }
st = new StringTokenizer(ch, stChar); //요소 분리.
if (st.countTokens() == stCnt) {
strBuf = new StringBuffer();
for(int i=0; i<stCnt; i++){
if(i != 0) {
strBuf.append(stChar); //생성될 파일의 구분될 요소.
}
strBuf.append(st.nextToken());
}
//System.out.println(strBuf.toString());
bw.write(strBuf.toString());
bw.newLine();
bw.flush();
}
}
}catch(Exception e){
System.out.println("[Method : readFile] [" + writeFile.getName() + "] 에 쓰기 오류!");
System.out.println(e.getMessage());
e.printStackTrace();
}
System.out.println("Success to File Write!!");
br.close();
fr.close();
bw.close();
fw.close();
}
public static void main(String[] args) {
FileTokenizer fileToken = new FileTokenizer();
try {
int stCnt = 2; //요소의 갯수
String stChar = "?"; //요소의 구분인자
fileToken.readFile(stCnt, stChar);
} catch(Exception e){
System.out.println("[Main] Error!");
e.printStackTrace();
}
}
}
'Java' 카테고리의 다른 글
[Java] StringBuffer와 StringBuilder (0) | 2009.05.25 |
---|---|
[Java] wav파일 실행 시키기!! (1) | 2009.05.20 |
[Java] 두 날짜는 몇일 차이가 날까.. (0) | 2009.04.14 |
[Java] DB ConnectionPool... (0) | 2009.03.31 |
[Java] for문 사용시 주의사항! (0) | 2009.03.31 |