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 回答