Java 如何从CSV文件中读取可读的内容?
我要从CSV文件中读取以下代码行:Java 如何从CSV文件中读取可读的内容?,java,file,maven,csv,opencsv,Java,File,Maven,Csv,Opencsv,我要从CSV文件中读取以下代码行: public static void main(String[] args) throws FileNotFoundException, IOException { CSVReader reader = new CSVReader(new FileReader("file.csv")); List myEntries = reader.readAll(); System.out.println(myEntries); } 但它给我的
public static void main(String[] args) throws FileNotFoundException, IOException {
CSVReader reader = new CSVReader(new FileReader("file.csv"));
List myEntries = reader.readAll();
System.out.println(myEntries);
}
但它给我的回报是:
[[Ljava.lang.String;@6bc7c054, [Ljava.lang.String;@232204a1, etc.
我的CSV文件包含列和行(就像Excel文件一样)。我有姓名
,社会
,导入
如何准确读取文件中的内容?首先,不要使用原始类型:
列出myEntries
其次,您看到的是将每个列表元素(一个String[]
)转换为String
)的一些无用结果。无论是隐式还是显式,您几乎都不想对数组调用toString()
相反,使用Arrays.toString()
迭代列表,以“有效地”打印每个元素:
Java 8版本:
myEntries.forEach( stringArray -> System.out.println( Arrays.toString( stringArray ) ) );
或者,如果不需要换行符:
System.out.println( Arrays.deepToString( myEntries.toArray() ) );
或者myEntries.stream().map(Arrays::toString).forEach(System.out::println)代码>
System.out.println( Arrays.deepToString( myEntries.toArray() ) );