如何构建openCSV CSVReader

How to construct openCSV CSVReader

抱歉问了这么白痴的问题。我试过很多东西。我在网上看到的所有例子都是我在(1)中尝试过的,但它不起作用。

String source= "C:\temp\data.csv"; CSVReader csvreader= new CSVReader(new FileReader(csv),","); 
  1. 上面的代码报错“Constuctor CSVReader(FileReader, String) is not defined”,但是我在网上看到过这个用法。我认为它已被弃用,但我还不能使用它吗?我检查了文档并尝试使用 (2) 中显示的构造函数。

  2. 字符串来源 = "C:\temp\data.csv";
    Reader reader = 新文件Reader(来源); CSVReader csvreader= 新 CSVReader(reader);

报错:

> Exception in thread "main" java.lang.NoClassDefFoundError:
> org/apache/commons/lang3/ObjectUtils  at
> com.opencsv.CSVParser.<init>(CSVParser.java:99)   at
> com.opencsv.CSVReader.<init>(CSVReader.java:99)   at
> csvpractice.main(csvpractice.java:54) Caused by:
> java.lang.ClassNotFoundException: org.apache.commons.lang3.ObjectUtils
>   at
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
>   at
> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
>   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
>   ... 3 more
  1. “已弃用”意味着您不应使用它,因为它可能会在以后的版本中被删除。您可能正在使用这样一个更高版本,它已被删除 - 所以您真的不能使用它。
    当前的API显示已被删除:http://opencsv.sourceforge.net/apidocs/com/opencsv/CSVReader.html

  2. String source = "C:\temp\data.csv";

这里有单反斜杠,这意味着 source 将是“C:<tab>empdata.csv”。 将其替换为:

String source = "C:\temp\data.csv";`
  1. 您缺少包含 ObjectUtils 的 jar 文件。 您可以从以下网址下载:https://mvnrepository.com/artifact/org.apache.commons/commons-lang3/3.0

更好的方法是使用 Maven 或 Gradle 等构建工具,它会自动导入所需的依赖项。