code: public static boolean load(String path, Nature defaultNature, TreeMap<String, CoreDictionary.Attribute> map, LinkedHashSet<Nature> customNatureCollector)
      {
          try
          {
              String splitter = "\\s";
              if (path.endsWith(".csv"))
              {
                  splitter = ",";
              }
              BufferedReader br = new BufferedReader(new InputStreamReader(IOUtil.newInputStream(path), "UTF-8"));
              String line;
              boolean firstLine = true;
              while ((line = br.readLine()) != null)
              {
                  if (firstLine)
                  {
                      line = IOUtil.removeUTF8BOM(line);
                      firstLine = false;
                  }
                  String[] param = line.split(splitter);
                  if (param[0].length() == 0) continue;   // 排除空行
                  if (HanLP.Config.Normalization) param[0] = CharTable.convert(param[0]); // 正规化
  
                  int natureCount = (param.length - 1) / 2;
                  CoreDictionary.Attribute attribute;
                  if (natureCount == 0)
                  {
                      attribute = new CoreDictionary.Attribute(defaultNature);
                  }
                  else
                  {
                      attribute = new CoreDictionary.Attribute(natureCount);
                      for (int i = 0; i < natureCount; ++i)
                      {
                          attribute.nature[i] = LexiconUtility.convertStringToNature(param[1 + 2 * i], customNatureCollector);
                          attribute.frequency[i] = Integer.parseInt(param[2 + 2 * i]);
                          attribute.totalFrequency += attribute.frequency[i];
                      }
                  }
  //                if (updateAttributeIfExist(param[0], attribute, map, rewriteTable)) continue;
                  map.put(param[0], attribute);
              }
              br.close();
          }
          catch (Exception e)
          {
              logger.severe("自定义词典" + path + "读取错误！" + e);
              return false;
          }
  
          return true;
      }
docs: 加载用户词典（追加）
  
  @param path          词典路径
  @param defaultNature 默认词性
  @param customNatureCollector 收集用户词性
  @return