我有一个看起来大致如下的文本文件:
类型,距离,长度,其他,
A,62,17,abc,
A,12,4 ,,
A,6,90 ,,
A,46,53 ,,
等
所有内容都以逗号分隔,但有时会有空白。我需要能够使用扫描仪(不是bufferedreader)将这些数据读入数组,并能够以某种方式解释空白,以及用逗号分隔。稍后我将需要能够使用每列中的数据来计算事物。如何将这些数据导入阵列?
这是我到目前为止:(java)
import java.util.Scanner;
import java.io.*;
public class RunnerAnalysis {
public static void main(String[] args) throws IOException {
Scanner keyboard = new Scanner(System.in);
System.out.print("File: ");
String filename = keyboard.nextLine();
File file = new File(filename);
Scanner inputFile = new Scanner(file);
inputFile.nextLine();
String line = inputFile.nextLine();
while(inputFile.hasNext())
{
String[] array = line.split(",");
}
}
}
答案 0 :(得分:1)
如果您真的想使用扫描仪,恕我直言,这不是一个好主意,您可以将分隔符设置为,
。
Scanner inputFile = new Scanner(...);
inputFile.useDelimiter(",");
while (inputFile.hasNext())
{
String type = inputFile.next();
int distance = inputFile.nextInt();
int length = inputFile.nextInt();
String other = inputFile.next();
// Process...
}
我更喜欢将BufferedReader
与String.split(",")
结合使用。