将表格列解析为数组

3

我正在遍历表格,想要将第1列和第2列解析成两个单独的数组。我不确定该如何做。以下是我目前编写的代码:

while (line !="table_end"){
     for (line = bufferedReader.readLine(); line != null; line = bufferedReader.readLine()){
                         String[] rowData = line.split("\t");

                         for (int i = 0; i < rowData.length; i++) {
                             String id = rowData[0];// ids
                             System.out.println(id);
                             String nid = rowData[1];// names
                             System.out.println(nid);
                             //create arrays out of this

循环从表中提取第一行数据(rowData[0])和第二行数据(rowData[1]),我想将所有的rowData[0]存储在一个数组中,rowData[1]存储在另一个数组中。此外,在循环结束时,因为它包括了“table_end”这一行,我会遇到错误。
表格如下:
data0  data1 number number number etc
data0  data1 number number number etc
data0  data1 number number number etc
 this goes on for about 1000 rows
table_end

我是Java的初学者,需要一些关于如何将每个rowData[0]和[1]存储在单独的数组中以及如何避免读取最后一行“table_end”的建议。

2个回答

1

好的,可以通过在这种情况下使用条件来管理它。

while (line !="table_end"){      
       for (line = bufferedReader.readLine(); line != null; 
                    line = bufferedReader.readLine()) { 
           if ( !line.equals("table_end"){
               //Do other things here
           }
    }
  }

我假设您只是不需要包括“table_end”,希望这有所帮助。如果要将rowData [0]存储在一个数组中,并将rowData [0]存储在另一个数组中,您有两个选择:如果长度是特定的,则在for循环内部有两个循环,然后将这些元素添加到另外两个数组中;如果长度不确定,则将它们添加到ArrayList中,然后将ArrayList转换为String数组。
 ArrayList<String> firstArray = new ArrayList<String>(); 
 ArrayList<Strign> secondArray = new ArrayList<String>();

在循环内部,你会有


       firstArray.add(rowdata[0);       secondArray.add(rowdata[1);

谢谢,我已经用ArrayList解决了这个问题,但仍然困惑于如何使其不读取最后一行。 - user3452464
也许我对你需要的代码功能有些困惑,但根据我的理解,如果你将这一行代码 for (line = bufferedReader.readLine(); line != null; line = bufferedReader.readLine()) 更改为 for (line = bufferedReader.readLine(); line != null && !(line.equals("table_end")); line = bufferedReader.readLine()),它应该可以实现你的需求。如果有帮助,请告诉我。 - Siavosh

0

由于您可能不知道有多少个bufferedReader会产生,因此应将您的idnid放入ArrayList<String>对象(例如idsnids),并在最后将其转换为数组。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接