如何从 CSV 文件中读取可读的内容?
How to read something readable from CSV file?
我有这些代码行可以从 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);
}
但对我来说 returns 是:
[[Ljava.lang.String;@6bc7c054, [Ljava.lang.String;@232204a1, etc.
我的 CSV 文件包含列和行(就像 Excel 文件一样)。我有 name
、society
、import
、...
如何准确读取文件中的内容?
首先,不要使用原始类型:List<String[]> myEntries
。
其次,您所看到的是将每个列表元素 - String[]
- 转换为 String
的有点无用的结果。您几乎不想在数组上调用 toString()
,无论是隐式还是显式。
而是遍历列表,使用 Arrays.toString()
打印每个元素 "usefully":
for (String[] row : myEntries) {
System.out.println(Arrays.toString(row));
}
Java8版本:
myEntries.forEach( stringArray -> System.out.println( Arrays.toString( stringArray ) ) );
或者如果不需要换行:
System.out.println( Arrays.deepToString( myEntries.toArray() ) );
我有这些代码行可以从 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);
}
但对我来说 returns 是:
[[Ljava.lang.String;@6bc7c054, [Ljava.lang.String;@232204a1, etc.
我的 CSV 文件包含列和行(就像 Excel 文件一样)。我有 name
、society
、import
、...
如何准确读取文件中的内容?
首先,不要使用原始类型:List<String[]> myEntries
。
其次,您所看到的是将每个列表元素 - String[]
- 转换为 String
的有点无用的结果。您几乎不想在数组上调用 toString()
,无论是隐式还是显式。
而是遍历列表,使用 Arrays.toString()
打印每个元素 "usefully":
for (String[] row : myEntries) {
System.out.println(Arrays.toString(row));
}
Java8版本:
myEntries.forEach( stringArray -> System.out.println( Arrays.toString( stringArray ) ) );
或者如果不需要换行:
System.out.println( Arrays.deepToString( myEntries.toArray() ) );