이글루스 | 로그인  



회사 업무

package hitachi;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class MakeCsv {

 private final String inputDirectory = "D:\\sample\\csv";
 private final String outDirectory = "D:\\sample\\csv";
 private final String fileExtendsion = "ini";
 private final String Koumokusu = "[Koumokusu]";

 private final String gyou = "gyou";
 private final String kaisi = "kaisi";
 private final String mojisu = "mojisu";
 private final String koumokumei = "koumokumei";

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub

  new MakeCsv().run();
 }

 public void run() {

  List<String> allFileNameList = getFileNameList();
  for (String fileName : allFileNameList) {

   makeCsvFile(fileName);

  }
 }

 /**
  * Character Set 問題は後回し
  *
  * @param name
  */
 private void makeCsvFile(String name) {
  File reader = new File(inputDirectory + "/" + name + ".ini");
  File writer = new File(outDirectory + "/" + name + ".csv");
  BufferedReader bufferReader;
  BufferedWriter bufferWriter;
  try {
   bufferReader = new BufferedReader(new FileReader(reader));
   bufferWriter = new BufferedWriter(new FileWriter(writer));

   String line;
   boolean writable = false;
   int i = 1;

   String key;

   while ((line = bufferReader.readLine()) != null) {

    if (line.indexOf(this.Koumokusu) > -1)
     writable = true;
    if (writable
      && (line.startsWith("H") || line.startsWith("M") || line
        .startsWith("F"))) {
     String[] item = line.split("=");
     String[] subItem = item[1].split(",");

     key = "key" + i;

     bufferWriter.write(key);
     bufferWriter.write(",");
     bufferWriter.write(item[0]);
     bufferWriter.write("\n");
     bufferWriter.write(gyou);
     bufferWriter.write(",");
     bufferWriter.write(subItem[0]);
     bufferWriter.write("\n");
     bufferWriter.write(kaisi);
     bufferWriter.write(",");
     bufferWriter.write(subItem[1]);
     bufferWriter.write("\n");
     bufferWriter.write(mojisu);
     bufferWriter.write(",");
     bufferWriter.write(subItem[2]);
     bufferWriter.write("\n");
     bufferWriter.write(koumokumei);
     bufferWriter.write(",");
     bufferWriter.write(subItem[3]);

     i++;
    }

   }

   bufferReader.close();
   bufferWriter.close();
  } catch (IOException e) {
   System.out.println("Exception : " + e.getMessage());
  }
 }

 private List<String> getFileNameList() {

  File inputFile = new File(inputDirectory);
  File[] allList = inputFile.listFiles();
  List<String> allFileNameList = new ArrayList<String>();

  for (File file : allList) {

   if (file.isFile()) {

    String fileName = file.getName();
    String[] divide = fileName.split("\\.");

    if (divide[1].equals(fileExtendsion))
     allFileNameList.add(divide[0]);
   }
  }

  return allFileNameList;
 }
}

by 나림 | 2008/06/15 20:42 | 회사 | 트랙백 | 덧글(1)

트랙백 주소 : http://gt1000.egloos.com/tb/1789041
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 영회 at 2008/07/03 14:57
http://forum.ksug.org

포럼 참여하세요. :)

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶