하나의 파일을 읽어 들여서 형식에 맞게끔 새로운 파일을 생성한다.

간단한 예이니 참고해서 응용하면 괜찮을듯 하다.

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

+ Recent posts