2011-10-18 125 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(",")