0

基本的にユーザーが決定したExcelファイルからデータを取得し、Syste.out.println()を使用して結果を表示するこのJavaプロジェクトを作成しました。Eclipse で希望どおりに動作しますが、.jar ファイルとしてエクスポートすると、正しく動作しません。Excelファイルの場所を入力するように求められますが、出力は表示されず、エラーも表示されません。ターミナルからのやり方がわからないので、ダブルクリックで実行しています。また、ユーザーに必要なExcelファイルを選択してもらいたいのですが、プロンプトが表示されたときに場所として何を書き留める必要がありますか? 現在、Excel ファイルはプロジェクトと同じディレクトリにあります。Excelファイルの名前だけで十分な入力ですが、ディレクトリにない場合はどうすればその場所を表示できますか?

ありがとうございました

4

2 に答える 2

1

まず、JAR ファイルの META-INF/MANIFEST.MF ファイルに、次のmain()ような行を含むメイン クラス (つまり、メソッドを含むクラス) を含める必要があります。

Main-Class: mypackage.MyMainClass

JAR ファイルを生成するときに、Eclipse の設定でこの行が生成されていることを確認してください。

ターミナルから実行できます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 に答える