2016-12-08 56 views
1

我目前正在開發一個項目,並被困在下一步。我應該讓程序從文件中讀取多個數據列,每個數據都有一個單獨的字符串數組。我已經設法使它能夠單獨地接受每一行並正確地打印它,但是我不知道如何讓它讀取列以供後面的操作。這是我迄今爲止;如何從文件中導入和處理字符串

import java.util.Scanner; 
import java.io.IOException; 
import java.io.File; 
import java.io.FileNotFoundException; 

public class HurricaneData { 
public static void main(String[] args) throws IOException { 
    int line = 1; 

    File inputFile = new File("hurcdata2.txt"); 
    Scanner inFile = new Scanner(inputFile); 
    String hurricane; 

    while(inFile.hasNext()){ 
     for(int i=0; i<5; i++){ 
      hurricane = inFile.next(); 
      System.out.print(hurricane + " "); 
     } //end for 
     System.out.println(); 
    } //end while 

} //end main 

} //end class 

這給了我; 「1980年8月945 100艾倫」在一條線上,「1983年8月962 100艾麗西亞」在下,等等。我正在尋找的是一種將每個列讀入單獨的一維數組的方法。我知道我可以以某種方式使用多維數組,但具體指令將其限制爲一維。任何和所有的幫助表示讚賞,即使它對我大喊大叫,說這個代碼有多愚蠢。 :) 謝謝!!!

+1

查看'String'的'split()'方法。 – Logan

+1

'String [] columns = hurricane.split(「」);' – shmosel

回答

0

你不能逐列閱讀,但如果你知道每行有多少列,你可以相應地拆分字符串,在你的情況下,它看起來像String[] columns = hurricane.split(" ")將工作。它會將它們之間的分隔符(在本例中爲單個空格)中的每個項添加爲字符串數組中的單個元素,因此「foo bar」將是[foo,bar],是否合理?

相關問題