这是我编写的简单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的完整文件路径。