package org.fastcatsearch.ir.dictionary;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class FileSourceDictionaryCompiler {
public static void main(String[] args) throws IOException {
String sourceFilePath = args[0];
String binaryFilePath = args[1];
String type = args[2];
boolean ignoreCase = true;
if(args.length > 3){
ignoreCase = args[3].trim().equalsIgnoreCase("true");
}
File sourceFile = new File(sourceFilePath);
File binaryFile = new File(binaryFilePath);
SourceDictionary dictionary = null;
if(type.equals("set")){
dictionary = new SetDictionary(ignoreCase);
}else if(type.equals("map")){
dictionary = new MapDictionary(ignoreCase);
}else if(type.equals("synonym")){
dictionary = new SynonymDictionary(ignoreCase);
}else if(type.equals("custom")){
dictionary = new CustomDictionary(ignoreCase);
}
dictionary.loadSource(sourceFile);
OutputStream out = new FileOutputStream(binaryFile);
dictionary.writeTo(out);
out.close();
System.out.println("바이너리 사전을 생성하였습니다. "+binaryFile.getAbsolutePath()+" ("+binaryFile.length()+"B)");
}
}