0

私はかなり単純な Java プログラムを作成しています。ユーザーに要求するいくつかのオプションにより、データ比較のためにテキストのリストから読み取ることができます。

私がやりたいことは、ファイルが現在の作業パスにある場合にファイルを定義する機能を提供し、ファイルへの別のパスを提供しない限り、そうすると仮定することです。同じアプローチを使用して、定義されている場所に出力ファイルを生成したいと思います。

そのため、ファイルが存在するかどうかを確認することから始めます (完全なパスを定義しないと機能しません)。

File f1 = new File(inputFile);
        if(f1.exists())
            System.out.println("Exists");
        else if(!f1.exists())
        {
            System.out.println("Cannot find file " + inputFile);
            System.exit(1);
        }

でファイルを作成できましたがnew File(path/inputFile)、それはかなり簡単に破ることができます。

次のいずれかを実行できるようにしてほしい:

program.exe -m -1 inputFile.txt outputFile.txt

program.exe -m -1 C:\Users\tmp\Desktop\inputFile.txt outputFile.txt

program.exe -m -1 inputFile.txt C:\outputFile.txt

次のステップをどこで行うかについて何か提案はありますか?

4

1 に答える 1

1

次のようなものを試すことができます

String currentUserPath = System.getProperty("user.dir")

アプリケーションが実行されている場所から現在のパスを取得します。次に、ユーザーが args[0] に次のようなフル パスを指定したかどうかを確認できます。

String inputPath = args[0];
inputPath = inputPath.trim().toLowerCase(); // as you are using windows case doesn't matter    
if (!inputPath.startsWith("c:"))
    inputPath = currentUserPath + inputPath;

outputFile についても同様のことができます

于 2013-09-06T17:48:18.650 に答える