public void load(String dctFileRoot){
  String dctFilePath=dctFileRoot + "/coredict.dct";
  Path serialObj=Paths.get(dctFileRoot + "/coredict.mem");
  if (Files.exists(serialObj) && loadFromObj(serialObj)) {
  }
 else {
    try {
      wordIndexTable=new short[PRIME_INDEX_LENGTH];
      charIndexTable=new char[PRIME_INDEX_LENGTH];
      for (int i=0; i < PRIME_INDEX_LENGTH; i++) {
        charIndexTable[i]=0;
        wordIndexTable[i]=-1;
      }
      wordItem_charArrayTable=new char[GB2312_CHAR_NUM][][];
      wordItem_frequencyTable=new int[GB2312_CHAR_NUM][];
      loadMainDataFromFile(dctFilePath);
      expandDelimiterData();
      mergeSameWords();
      sortEachItems();
    }
 catch (    IOException e) {
      throw new RuntimeException(e.getMessage());
    }
    saveToObj(serialObj);
  }
}

public void load ( String dctFileRoot ) { String dctFilePath = dctFileRoot + "/coredict.dct" ; Path serialObj = Paths . get ( dctFileRoot + "/coredict.mem" ) ; if ( Files . exists ( serialObj ) && loadFromObj ( serialObj ) ) { } else { try { wordIndexTable = new short [ PRIME_INDEX_LENGTH ] ; charIndexTable = new char [ PRIME_INDEX_LENGTH ] ; for ( int i = 0 ; i < PRIME_INDEX_LENGTH ; i ++ ) { charIndexTable [ i ] = 0 ; wordIndexTable [ i ] = - 1 ; } wordItem_charArrayTable = new char [ GB2312_CHAR_NUM ] [ ] [ ] ; wordItem_frequencyTable = new int [ GB2312_CHAR_NUM ] [ ] ; loadMainDataFromFile ( dctFilePath ) ; expandDelimiterData ( ) ; mergeSameWords ( ) ; sortEachItems ( ) ; } catch ( IOException e ) { throw new RuntimeException ( e . getMessage ( ) ) ; } saveToObj ( serialObj ) ; } }
attempt to load dictionary from provided directory , first trying coredict . mem , failing back on coredict . dct
