2011-10-18 120 views
0

我有一个文本文件,它看起来大致是这样的读txt文件到数组:使用扫描器

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

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

如果你真的想用一个扫描仪,这是恕我直言不是一个好主意,你可以将分隔符设置为,

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