有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从CSV文件中读取可读的内容?

我要从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);
}

但它给我的回报是:

[[Ljava.lang.String;@6bc7c054, [Ljava.lang.String;@232204a1, etc.

我的CSV文件包含列和行(就像Excel文件一样)。我有namesocietyimport

如何准确读取文件中的内容


共 (2) 个答案

  1. # 1 楼答案

    Java 8版本:

    myEntries.forEach( stringArray -> System.out.println( Arrays.toString( stringArray ) ) );
    

    或者,如果不需要换行符:

    System.out.println( Arrays.deepToString( myEntries.toArray() ) );
    
  2. # 2 楼答案

    首先,不要使用原始类型:List<String[]> myEntries

    其次,您所看到的是将每个列表元素(aString[])转换为aString的一些无用结果。无论是隐式还是显式,您几乎都不想对数组调用toString()

    相反,在列表中迭代,使用Arrays.toString()打印每个元素“有用”:

    for (String[] row : myEntries) {
      System.out.println(Arrays.toString(row));
    }