2016-11-09 69 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

|将被打印,如果你有“行”变量有适当的格式。尝试打印“行”变量,如果它包含“|”分裂。 –