我正在尝试将CSV文件读入我的应用程序,以将大量数据读入表中。 每行用逗号分隔,行的每一端都有一个回车符。我尝试使用java中的扫描程序读取分隔符设置为(“,”)的第一行,但我无法弄清楚如何在第一行到达回车符时停止扫描程序。这是我到目前为止的代码,它扫描文件中的所有内容,因为它不会在回车时停止。
Scanner scn = new Scanner(inputStream);
Vector<String> columnTitles = new Vector<String>();
scn.useDelimiter(",");
// Read the first line to get the column names.
while(!scn.hasNextInt())
{
String newStr = scn.next();
columnTitles.add(newStr);
System.out.print(newStr);
}
这个想法看起来很简单,但我看到的每个地方都有无用的例子,都是行不通的。
答案 0 :(得分:3)
您可以使用两台扫描仪:
new Scanner(scanner.nextLine());
或BufferedReader和扫描仪
new Scanner(bufferedReader.readLine());
或BufferedReader并拆分。
bufferedReader.readLine().split(",");
在你的情况下,我认为你从扫描仪获得的唯一的东西是能够调用nextInt()而不是自己将String转换为int(这很容易做到)。
答案 1 :(得分:3)
如果您只是尝试使用文件的第一行填充columnTitles向量,然后处理文件的其余部分(或不处理)
答案 2 :(得分:0)
回车符是Unicode / ASCII中的控制字符,可以通过其十六进制值来标识,就像任何其他“可见”字符一样。新行是0x0A(10),回车(它们略有不同)是0x0D(13)。