将表列解析为数组

时间:2014-03-23 15:33:48

标签: java arrays parsing

我正在迭代表,我想将第1列和第2列解析为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 个答案:

答案 0 :(得分:1)

在这种情况下,可以使用条件来管理

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

我认为你不需要&#34; table_end&#34;包括它有助于 并且用于将rowData [0]存储在1个数组中并将rowData [0]存储在另一个数组中,您也有2个选项 如果长度是特定的,则在for内部有2个循环,然后将这些元素添加到其他2个数组中,或者如果长度不是特定的,则将它们添加到ArrayList,稍后将ArrayList转换为String数组

 ArrayList<String> firstArray = new ArrayList<String>(); 
 ArrayList<Strign> secondArray = new ArrayList<String>();

并且在循环内你会有

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

答案 1 :(得分:0)

由于您可能不知道会产生多少bufferedReader,您应该将idnid ArrayList<String>放入ids个对象(例如nids和{{1}})并最终将它们转换为数组。