我想像下面这样解析 csv :
12:50 AM,11.0,10.0,94,1013,10.0,NNW,14.8,-,N/A,,Mostly Cloudy,330,2011-10-27 23:50:00
为了解析它,我使用如下代码:
while((mylines = rdr.readLine()) != null)
{
Pattern p = Pattern.compile("<br />");
mylines=mylines.replaceAll("<br />", "");
System.out.println(mylines);
StringTokenizer st = new StringTokenizer(mylines , ",");
while(st.hasMoreTokens())
{
System.out.println(st.nextToken());
}
}
对于我称之为 Null 的第 10 个元素,我没有得到任何不好的标记响应。 如何获得所有元素的 token ?
问候
最佳答案
这是 StringTokenizer
类的预期行为。
您始终可以通过在拆分字符串之前添加以下行来强制您的程序返回某些内容,例如 "***"
:
mylines=mylines.replaceAll(",,", ",***,");
在这种情况下,StringTokenizer
将返回 ***
而不是 null
关于java - 如何解析在java中有一些空值的csv文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8285685/