import java.io.RandomAccessFile;\r
import java.nio.charset.Charset;\r
import java.util.ArrayList;\r
+import java.util.Arrays;\r
import java.util.Collections;\r
import java.util.Comparator;\r
import java.util.HashMap;\r
import com.hughes.android.dictionary.Dictionary.Row;\r
\r
public class DictionaryBuilder {\r
+ \r
+ static final List<InputFile> inputFiles = Arrays.asList(\r
+ new InputFile("c:\\thad\\de-en-chemnitz.txt", Charset.forName("UTF8"), true),\r
+ // Thad's extra sauce: \r
+ new InputFile("c:\\thad\\de-en-dictcc.txt", Charset.forName("Cp1252"), false)\r
+ );\r
+ static final String dictOutFilename = "c:\\thad\\de-en.dict";\r
+ \r
+ static class InputFile {\r
+ final String file;\r
+ final Charset charset;\r
+ final boolean hasMultipleSubentries;\r
+ public InputFile(String file, Charset charset, boolean hasMultipleSubentries) {\r
+ this.file = file;\r
+ this.charset = charset;\r
+ this.hasMultipleSubentries = hasMultipleSubentries;\r
+ }\r
+ }\r
\r
public static void main(String[] args) throws IOException,\r
ClassNotFoundException {\r
- if (args.length != 1) {\r
- System.err.println("outputfile");\r
- return;\r
- }\r
- final String dictOutFilename = args[0];\r
\r
final Dictionary dict = new Dictionary("de-en.txt - a German-English dictionary\n" +\r
"Version: devel, 2009-04-17\n" +\r
"Source: http://dict.tu-chemnitz.de/\n" +\r
"Thanks to Frank Richter.", Language.DE, Language.EN);\r
System.out.println(Charset.forName("Cp1252"));\r
- processInputFile("c:\\de-en-chemnitz.txt", dict, true, Charset.forName("UTF8"));\r
+ for (final InputFile inputFile : inputFiles) {\r
+ processInputFile(dict, inputFile);\r
+ }\r
\r
- // Thad's extra sauce: \r
-// processInputFile("c:\\de-en-dictcc.txt", dict, false, Charset.forName("Cp1252"));\r
-\r
createIndex(dict, Entry.LANG1);\r
createIndex(dict, Entry.LANG2);\r
\r
dictOut.close();\r
}\r
\r
- private static void processInputFile(final String filename,\r
- final Dictionary dict, final boolean hasMultipleSubentries, final Charset charset) throws FileNotFoundException, IOException {\r
- final BufferedReader dictionaryIn = new BufferedReader(new InputStreamReader(new FileInputStream(filename), charset));\r
+ private static void processInputFile(final Dictionary dict, final InputFile inputFile) throws FileNotFoundException, IOException {\r
+ final BufferedReader dictionaryIn = new BufferedReader(new InputStreamReader(new FileInputStream(inputFile.file), inputFile.charset));\r
String line;\r
int lineCount = 0;\r
while ((line = dictionaryIn.readLine()) != null) {\r
continue;\r
}\r
\r
- final Entry entry = Entry.parseFromLine(line, hasMultipleSubentries);\r
+ final Entry entry = Entry.parseFromLine(line, inputFile.hasMultipleSubentries);\r
if (entry == null) {\r
System.err.println("Invalid entry: " + line);\r
continue;\r