这是我编写的简单Java代码,我想使用opencsv模块解析csv文件:

import com.opencsv.CSVReader;
import java.io.FileReader;
import java.io.IOException;

public class csv_open {

public static void main(String[] args) {

    String csvFile = "FebStatement.csv";

    CSVReader reader = null;
    try {
        reader = new CSVReader(new FileReader(csvFile));
        String[] line;
        while ((line = reader.readNext()) != null) {
            System.out.println("Expense [date= " + line[0] + ", amount= " + line[1] + " , name=" + line[2] + "]");
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}
}


在我的目录中有csv_open.java文件的地方,也有opencsv-4.1.jar文件。
我用来在命令行上编译代码的命令是:

javac -classpath opencsv-4.1.jar: csv_open.java


但这给了我以下输出:
package com.opencsv does not exist - pls see image

我目前不使用IntelliJ或Eclipse或使用Maven或Groovy等构建此程序。
我还能通过解决问题在上面的命令行中简单地编译并运行代码吗?

任何帮助将不胜感激!

提前致谢!

最佳答案

我在编译com.opencsv.CSVWriter时遇到类似的问题。我最终使用下面的代码在命令行中进行了编译,并且成功了!我仍在学习如何设置类路径,而不是那样,所以可能有一种更简单的方法,但这对我有用。

javac -classpath C:\ project \ lib \ opencsv-4.2.jar -d C:\ project \ bin \ -sourcepath C:\ project \ src \ PrepForCPP.java

编译代码细分:

javac = jvm compiler
-classpath = full path of where the jar file is stored
-d = where the various class files for my program are stored
-sourcepath = where all of the different java files for my program are stored
C:\project\src\ = setting the filepath
PrepForCPP.java = file name with main method


您可能不需要-d和-sourcepath,因为看起来您只在使用一个文件。如果我正确理解了我在类路径上找到的信息,则环境变量的设置不正确,因此jvm无法找到opencsv-4.2.jar。我不认为自己也做过,但是包括完整的文件路径似乎是一个不错的解决方法。

**这确实需要设置classpath环境变量。否则,您可以包括javac的完整文件路径。

10-08 10:48