code: public boolean load(String path)
      {
          trie = new DoubleArrayTrie<V>();
          long start = System.currentTimeMillis();
          if (loadDat(ByteArray.createByteArray(path + BIN_EXT)))
          {
              return true;
          }
          TreeMap<String, V> map = new TreeMap<String, V>();
          try
          {
              BufferedReader br = new BufferedReader(new InputStreamReader(IOUtil.newInputStream(path), "UTF-8"));
              String line;
              while ((line = br.readLine()) != null)
              {
                  String[] paramArray = line.split("\\s");
                  map.put(paramArray[0], createValue(paramArray));
              }
              br.close();
          }
          catch (Exception e)
          {
              logger.warning("读取" + path + "失败" + e);
              return false;
          }
          onLoaded(map);
          Set<Map.Entry<String, V>> entrySet = map.entrySet();
          List<String> keyList = new ArrayList<String>(entrySet.size());
          List<V> valueList = new ArrayList<V>(entrySet.size());
          for (Map.Entry<String, V> entry : entrySet)
          {
              keyList.add(entry.getKey());
              valueList.add(entry.getValue());
          }
          int resultCode = trie.build(keyList, valueList);
          if (resultCode != 0)
          {
              logger.warning("trie建立失败");
              return false;
          }
          logger.info(path + "加载成功，耗时" + (System.currentTimeMillis() - start) + "ms");
          saveDat(path + BIN_EXT, valueList);
          return true;
      }
docs: 从txt路径加载
  
  @param path
  @return