打印数组列表时仅打印最后一个值

时间:2015-10-30 18:25:44

标签: java arrays arraylist

我正在尝试读取仅在一列中有价值的CSV文件,例如

11111
22222
33333
44444

我能够读取文件但是当我打印的值只显示最后一个值时,即44444.下面是我的代码,请帮我获取列表中的所有值并打印: -

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ReadCVS {

  public static void main(String[] args) {

    ReadCVS obj = new ReadCVS();
    obj.run();

  }

  @SuppressWarnings("unchecked")
public void run() {

    String csvFile = "/C:/Users/SONY/Desktop/Book1.csv";
    BufferedReader br = null;
    String line = "";
    String cvsSplitBy = ",";
    List<String[]> list=new ArrayList<String[]>();

    try {

        br = new BufferedReader(new FileReader(csvFile));
        String[] country = null ;
        while ((line = br.readLine()) != null) {

            country= line.split(cvsSplitBy);

            list.add(country);
            System.out.println(Arrays.toString(country));
        }

        for(int i = 0; i < country.length; i++) {
            System.out.println(Arrays.toString(country));             
        }


    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (br != null) {
            try {
                br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    System.out.println("Done");
  }

}

1 个答案:

答案 0 :(得分:0)

问题是您要在第二个public void matchStart(View view){ String selectedMatch = String.valueOf(((ListView) findViewById( R.id.listView )).getSelectedItemPosition()); Toast.makeText(SelectTeams.this, selectedMatch, Toast.LENGTH_SHORT).show(); } 中打印Settings/Preferences | Appearance & Behavior | Appearance | Override default fonts by,其中包含最后一列的值country

尝试这样的事情。

for loop

输出:

  

[a,b]

     

[c,d]

这是尝试模拟你的一般例子。根据您的要求进行更改。永远不要像我在上面的例子中那样留下例外未被捕获