我的CSV文件中的字符串已经上传到服务器上,格式为:
21-June-2012 Football MU-Chelsea London (first row)
22-June-2012 Basketball NY-MY New York (second row)
当我使用以下代码进行CSV解析时:
BufferedInputStream bis = new BufferedInputStream(stream);
ByteArrayBuffer baf = new ByteArrayBuffer (50);int current = 0;
int current = 0;
while ((current = bis.read()) != -1){
baf.append((byte)current);
}
String stockTxt = new String (baf.toByteArray());
String [] tokens = stockTxt.split(",");
String date_CSV = tokens [2];
String time_CSV = tokens [3];
String game_CSV = tokens [4];
String gamedesc_CSV = tokens [5];
String venue_CSV = tokens [6];
显示结果:
token [0] = 21-June-2012
token [1] = Football
token [2] = MU-Chelsea
token [3] = London 22-June-2012
token [4] = Basketball
token [5] = NY-MY
token [6] = New York
对于令牌[3]
,我预期的reslt是伦敦,我对令牌4的预期结果是22-June-2012
。我该怎么做分裂?
答案 0 :(得分:0)
每一行都在各自的行上,因此您需要先逐行读取输入并将其拆分。
答案 1 :(得分:0)
由于您知道数据是“Excel CSV格式”,因此您应该搜索可以处理此格式的库。您可以免费使用几种。之后,读取文件变得非常简单,因为您不再需要关注文件格式。您的代码应该只关注readLine
和readField
,而不是关于处理IO内容本身。