Java - 在控制台中使用参数启动程序时出错

Java - Error starting program with arguments in console

总的来说,没有水。输入是 CSV 格式的 link(文件路径),应输出每一行(数组)。为方便起见,我下载了第三方库来处理 CSV 文件。 运行 通过命令行。编译良好,一切都正确(有点),注册了库的路径等。:

E:\projects\java.Adam2.0\src\com\company>javac -cp "E:\projects\Librari\opencsv-5.2.jar" QI100.java

E:\projects\java.Adam2.0\src\com\company>cd E:\projects\java.Adam2.0\src

我运行(就像...我在这里不确定了)正确地指定了参数(文件路径),但它给出了以下错误:

E:\projects\java.Adam2.0\src>java QI100 C:\Users\ARTHUR\Downloads\file.csv

错误:

Error: Could not find or load main class QI100
Caused by: java.lang.ClassNotFoundException: QI100

忘了代码本身:

package com.company;

import com.opencsv.CSVReader;
import com.opencsv.exceptions.CsvValidationException;

import java.io.*;
import java.util.ArrayList;
import java.util.List;


public class QI100 {
    public void main (String[] args) throws IOException, FileNotFoundException, CsvValidationException {
        String pathToFile = args[0];
        BufferedReader reader = new BufferedReader(new FileReader(pathToFile));
        CSVReader csvReader = new CSVReader(reader);
        ArrayList<String[]> lineArray = new ArrayList<>();
        String[] line;
        while ((line = csvReader.readNext()) != null) {
            lineArray.add(line);
            System.out.println(line);
        }
    }
 }

您在 E:\projects\java.Adam2.0\src\com\company 上编译了 Java 文件,而您正试图在 E:\projects\java.Adam2.0\src 上访问它。因此,系统无法找到 class。使用命令如下:

E:\projects\java.Adam2.0\src>javac -d . -cp "E:\projects\Librari\opencsv-5.2.jar" QI100.java

E:\projects\java.Adam2.0\src>java -cp "E:\projects\Librari\opencsv-5.2.jar" com.company.QI100 C:\Users\ARTHUR\Downloads\file.csv

注意: . 指定当前目录,开关 -d 指定放置生成的 class 文件的位置。要了解更多信息,只需使用命令 javac.