2014-10-06 25 views
0

我目前正在解析XML文档并将XML数据存储在String []中。这是我所做的:Java system.out不打印所有发生

db = dbf.newDocumentBuilder(); 
Document dom = db.parse(in); 
Element docElem = dom.getDocumentElement(); 
NodeList valuesList= docElem.getElementsByTagName("values"); 

Element value = (Element) valuesList.item(0); 

//Split on every white space 
String[] myValues = value.getFirstChild().getNodeValue().split("\\s+"); 

System.out.println(myValues.length); 
//Output: 5400 

for(String val : myValues){ 
    System.out.println("Value: " + val); 
    //This prints out random amount of lines in the console, see figure. 
} 

循环的输出变化。看下面的图片。

sysout

其结果可能是4145的第一执行和4198的第二次。

由于String []包含5400项,因此不应该输出5400行吗?为什么不是?

感谢您的任何解释。

马库斯

回答

0

如果logcat的大小限制是不是你的问题,然后尝试以下以及 -

//Split on every white space 
    String[] myValues = value.getFirstChild().getNodeValue().split("\\s+"); 

    System.out.println(myValues.length); 
    //Output: 5400 

    List<String> stringList = Arrays.asList(myValues); 

    List<String> list = Collections.synchronizedList(stringList); 

    synchronized(list) 
    { 
     Iterator<String> iterator = list.iterator(); 

     while (iterator.hasNext()) 
      System.out.println(iterator.next()); 
    }