我正在尝试读取仅在一列中有价值的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");
}
}
答案 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]
这是尝试模拟你的一般例子。根据您的要求进行更改。永远不要像我在上面的例子中那样留下例外未被捕获。