2016-11-09 72 views
-3

我知道如何閱讀文本文件,但我不知道如何有序閱讀。例如,如何閱讀「Tosca | Giacomo Puccini | 1900 |羅馬|普契尼關於一個波動的天后,虐待警察局長和理想主義藝術家| https://www.youtube.com/watch?v=rkMx0CLWeRQ」的情節劇?不同的信息由|分隔,並且我希望它們能夠顯示在不同的JLabel上。如何在Java中有序地讀取文本文件?

我這樣做

while((line = bufferedReader.readLine()) != null) { 
      System.out.println(line); 
     } 

還有什麼我應該在while循環呢?

+2

line.split(「\\ |」); –

回答

0

您需要使用split函數分割字符串數據,並將其放入一個字符串數組中以獲取組中的所需數據。 例如:str =「10 | Patrick | 10-10-1996」

要存儲上面的數據並將其很好地放入數據庫中,您可以拆分字符串並將其存儲到名爲「Person」的類中,該類包含數據,如姓名,身份證和生日。

class Person{ 
    private int id; 
    private String name; 
    private String birthday; 
    public Person(int id, String name, String birthday){ 
     //some setter code here 
    } 

    //some getter code here 
} 

然後,您可以拆分您在文本文件中讀取的每一行數據。

while((line = bufferedReader.readLine()) != null) { 
      String data[] = line.split("|") 
      // data[0] to get the id you need 
      // data[1] to get the name 
      // data[2] to get the birthday 
} 
+0

我嘗試了你的建議,但是當我打印數據[0]時,只有一個字母出現?我認爲|之間的字符串|應該打印。 –

+0

你試過這個字符串嗎? String str =「10 | Patrick | 10-10-1996」? String data [] = str.split(「|」); (數據[0]打印時應返回10)。 –

+0

|將被打印,如果你有「行」變量有適當的格式。嘗試打印「行」變量,如果它包含「|」分裂。 –