0

我创建了这个 java 项目,它基本上从用户确定的 excel 文件中获取数据,并使用 Syste.out.println() 来显示结果。它可以在 Eclipse 中按我的意愿工作,但是当我导出为 .jar 文件时,它不能正常工作。它提示输入excel文件位置,但是,不显示输出,甚至没有错误。我不知道如何从终端执行此操作,因此我通过双击它来运行它。另外,我希望用户选择他们想要的任何 excel 文件,那么当提示这样做时,他们应该写下什么作为位置?现在,excel文件与项目位于同一目录中。因此,只需输入 excel 文件的名称就足够了,但如果它不在目录中,那我该如何显示它的位置呢?

谢谢

4

2 回答 2

1

首先,在您的 JAR 文件中,文件 META-INF/MANIFEST.MF 必须包含您的主类(即带有main()方法的类),如下所示:

Main-Class: mypackage.MyMainClass

确保您在 Eclipse 中的设置在生成 JAR 文件时生成了这一行。

您可以从终端运行它,java -jar yourapp.jar但我认为您需要在类路径中包含一些额外的库和-cp开关。

工作目录通常是您运行应用程序的目录。如果你想指定一个不同的路径,它必须是相对的,或者是绝对的。

Windows 中的绝对路径类似于:“C:\mydatafolder\myexcelsheet.xls”

Unix 中的绝对路径类似于:“/home/myaccount/mydatafolder/myexcelsheet.xls”

于 2013-08-22T12:31:28.983 回答
0

您需要阅读 System.in 以获取文件路径,使用如下函数:

private static String getFilePath () {
    String filePath = null;

    while (true) {
        System.out.println("Please input the path of the file:");
        try {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));   
            filePath = br.readLine();

            File file = new File(filePath);
            if (!file.exists()) {
                System.out.println("Sorry, invalid file path. Please try again.");
            } else {
                return filePath;
            }

        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("Sorry, unexpected error happened, Please try again.");
        }           
    }       
}
于 2013-08-22T12:31:09.590 回答