1 package com.hughes.android.dictionary.engine;
4 import java.io.IOException;
5 import java.io.PrintWriter;
6 import java.io.RandomAccessFile;
7 import java.util.Arrays;
9 import com.hughes.android.dictionary.DictionaryInfo;
11 public class CheckDictionariesMain {
13 static final String BASE_URL = "http://quickdic-dictionary.googlecode.com/files/";
14 static final String VERSION_CODE = "v003";
16 public static void main(String[] args) throws IOException {
17 final File dictDir = new File(DictionaryBuilderMain.OUTPUTS);
19 final PrintWriter dictionaryInfoOut = new PrintWriter(new File("../Dictionary/res/raw/dictionary_info.txt"));
20 // dictionaryInfoOut.println("# LANG_1\t%LANG_2\tFILENAME\tVERSION_CODE\tFILESIZE\tNUM_MAIN_WORDS_1\tNUM_MAIN_WORDS_2\tNUM_ALL_WORDS_1\tNUM_ALL_WORDS_2");
22 final File[] files = dictDir.listFiles();
24 for (final File dictFile : files) {
25 if (!dictFile.getName().endsWith("quickdic")) {
28 System.out.println(dictFile.getPath());
31 final RandomAccessFile raf = new RandomAccessFile(dictFile, "r");
32 final Dictionary dict = new Dictionary(raf);
34 final DictionaryInfo dictionaryInfo = dict.getDictionaryInfo();
36 dictionaryInfo.uncompressedFilename = dictFile.getName();
37 dictionaryInfo.downloadUrl = BASE_URL + dictFile.getName() + "." + VERSION_CODE + ".zip";
38 // TODO: zip it right here....
39 dictionaryInfo.uncompressedBytes = dictFile.length();
40 final File zipFile = new File(dictFile.getPath() + "." + VERSION_CODE + ".zip");
41 dictionaryInfo.zipBytes = zipFile.canRead() ? zipFile.length() : -1;
44 // final PrintWriter textOut = new PrintWriter(new File(dictFile + ".text"));
45 // final List<PairEntry> sorted = new ArrayList<PairEntry>(dict.pairEntries);
46 // Collections.sort(sorted);
47 // for (final PairEntry pairEntry : sorted) {
48 // textOut.println(pairEntry.getRawText(false));
53 System.out.println("Stats...");
54 final String row = dictionaryInfo.append(new StringBuilder()).toString();
55 System.out.println(row + "\n");
57 dictionaryInfoOut.println(row);
58 dictionaryInfoOut.flush();
64 dictionaryInfoOut.close();