使用扫描仪将文本文件读入数组

时间:2011-10-18 15:38:07

标签: java arrays file comma

我有一个看起来大致如下的文本文件:

  

类型,距离,长度,其他,

     

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(",");
        }



    }

}

1 个答案:

答案 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...
}

我更喜欢将BufferedReaderString.split(",")结合使用。