在循环中保存值

muk*_*vro 3 java split while-loop

我正在尝试读取我的国家/地区数组字符串的值,该字符串读取csv文件.

InputStreamReader reader = new InputStreamReader(asset_stream);  
br = new BufferedReader(reader);
String[] country = null;
String cvsSplitBy = ";";

try {
    while ((line = br.readLine()) != null) {
        country = line.split(cvsSplitBy);

    }
} catch (NumberFormatException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

我的代码当前正在将值存储在country变量中.但是当我的循环结束时,我只在循环中读取了最后一个值.如何存储所有值,以便在完成循环后打印它们?

Dun*_*nes 7

考虑使用列表来保存值:

List<String[]> countries = new ArrayList<>();

try {
    while ((line = br.readLine()) != null) {
        countries.add(line.split(cvsSplitBy));    
    }
}
Run Code Online (Sandbox Code Playgroud)

稍后您可以遍历此列表:

for (String[] country : countries) {
  System.out.println(Arrays.toString(country); // or whatever
}
Run Code Online (Sandbox Code Playgroud)