代码之家  ›  专栏  ›  技术社区  ›  recursive9

java读取数字,解释为八进制,需要解释为字符串

  •  0
  • recursive9  · 技术社区  · 16 年前

    有没有办法强迫java将yaml字段作为字符串读取?

    ArrayList recordrarray = (ArrayList) sect.get("recordnum");
       if (recordrarray != null) {
          recno = join (recordrarray, " ");
       }
    

    也尝试过:

    Iterator<String> iter = recordrarray.iterator();
           if (iter.hasNext()) recno = " " +String.valueOf(iter.next());
           System.out.println(" this recnum:" + recno);
           while (iter.hasNext()){
              recno += ""+String.valueOf(iter.next()));
    
            System.out.println(" done recnum:" + String.valueOf(iter.next()));
    
           }
    

    输入如下: 061456改为25390 061506改为25414

    花了一段时间才弄清楚它在做什么,显然这是java的一个常见问题,

    思想? 谢谢

    编辑:使用jvyaml

      22:
    country_code: ' '
    description: ''
    insection: 1
    recordnum:
      - 061264
    type: misc
    

    yaml装载:

    import org.jvyaml.YAML;
    Map structure = new HashMap();
    structure = (Map) YAML.load(new FileReader(structurefn)); // load the structure file
    
    1 回复  |  直到 16 年前
        1
  •  0
  •   Helgi    16 年前

    你在哪里读文件?问题在于读取文件内容的位置。最有可能是 recordarray

    int val = Integer.parseInt(record);
    

    改用这个:

    int val = Integer.parseInt(record, 10);