【发布时间】:2018-04-11 20:05:33
【问题描述】:
想知道如何将 csv 文件加载到 java 中并打印出结果。到目前为止,我无法让它打印出整个 csv 表。该工作表包含空格,并且带有标题:
Sales num, Account num, Date, Delivery, Codes
Sales 1, 2345 , May17, Oct318, 3345
4435
2234
Sales 2, 3345, May 18, Oct318, 4456
每次销售有多个代码,但所有其他信息(帐号、数据、交货)只有一个。在代码之后第二次销售被放入,所以销售1和销售2之间有很多空白。
我找到了这段代码,但它只打印前两个单词。
public static void main(String[] args) throws IOException{
try {
ArrayList < String > ar = new ArrayList < String > ();
File csvFile = new File("C:\\Users\\AZ0000\\Documents\\Book1.csv\\");
BufferedReader br = new BufferedReader(new FileReader(csvFile));
String line = "";
StringTokenizer st = null;
int lineNumber = 0;
int tokenNumber = 0;
while ((line = br.readLine()) != null) {
String[] arr = line.split(",");
for (int i = 0; i < arr.length; i++) {
//System.out.println(arr[0]+" " + arr[1] + arr); // h
}
lineNumber++;
//use comma as token separator
}
} catch (IOException ex) {
ex.printStackTrace();
}
我最终需要从 csv 中取出数据并将其导入文本文件中的某些行。
【问题讨论】:
-
它只打印前两个词,因为你只打印前两个词:
arr[0]+" " + arr[1]。空格不是问题。 -
那么我如何打印出整个东西
-
System.out.print(arr[i]+" ")在里面,System.out.println()直接在 for 循环之后。 -
代码后面有很多空白。有什么办法可以占用所有空间并将其排列在正确的标题下?
-
我用line.split("");这有助于解决空白问题。但是有没有办法将它们更好地排列在标题下
标签: java csv text-files