在 Java 中,我如何找到正确的路径来打开一个 txt 文件,该文件的名称作为命令行参数提供?

In Java, how do I find the proper path to open a txt file that's name is provided as a command line arguement?

我正在开发一个程序,该程序应该将两个文件作为命令行参数,打开文件,并从文件中读取数据以构建数据结构。 到目前为止,我已经能够使用 File() 打开文件并使用 Scanner 读取数据来创建结构。问题是我一直在为这样的文件调用提供特定路径

File f1 = new File("F:/MinSpan/resources/cities.txt");
Scanner sc1 = new Scanner(f1);

我不认为这对尝试 运行 这个程序的人有用,因为我已经提供了我的特定 txt 文件所在的路径 - 它们在我的闪存上驱动器 (F) 和某些文件夹中。有没有一种方法可以让我根据用户提供的 cmd 参数将其编程为将某种 args[] 值传递给 File()?

我已经尝试过只执行 new File(args[2]) ,但它找不到文件,因为没有路径。

如果您想要 java -jar program.jar FILE 之类的东西,请让程序检查索引 0.

args[] 中的 String

然后,构建您的文件。检查文件是否存在(在 java.io 中,它是 File.exists())并且 return 如果错误则向用户发送错误消息。

原因是,如果你只传递两条路径,args[2] 不会 return 任何东西,因为 args[] 从 0 开始。所以你想使用:

new File(args[0]);
new File(args[1]);

这有意义吗?