2008년 06월 15일
회사 업무
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)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
포럼 참여하세요. :)