Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,如何找到正确的路径来打开';s名称作为命令行参数提供?_Java_File_Text Files_Filepath - Fatal编程技术网

在Java中,如何找到正确的路径来打开';s名称作为命令行参数提供?

在Java中,如何找到正确的路径来打开';s名称作为命令行参数提供?,java,file,text-files,filepath,Java,File,Text Files,Filepath,我正在开发一个程序,该程序应该将两个文件作为命令行参数,打开这些文件,并从这些文件中读取数据以形成数据结构。 到目前为止,我已经能够使用File()打开文件并使用扫描仪读取数据来创建结构。问题是,我一直在提供这样的文件调用的特定路径 File f1 = new File("F:/MinSpan/resources/cities.txt"); Scanner sc1 = new Scanner(f1); 我认为这对试图运行这个程序的人来说是行不通的,因为我已经提供了我的特定txt文件所在的路径—

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

File f1 = new File("F:/MinSpan/resources/cities.txt");
Scanner sc1 = new Scanner(f1);
我认为这对试图运行这个程序的人来说是行不通的,因为我已经提供了我的特定txt文件所在的路径——它们在我的闪存驱动器(F)和一些文件夹中。是否有一种方法可以根据用户提供的cmd参数为File()传递某种args[]值


我已经尝试过创建新文件(args[2]),但它找不到该文件,因为没有路径。

如果您要创建类似于
java-jar program.jar文件的文件
,那么让程序检查索引
0
args[]
中的
字符串


然后,构建您的文件。检查文件是否存在(在
java.io
中,它是
file.exists()。因此,您希望使用:

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

这有意义吗

这不重要,你应该只使用传递给你的
字符串
,测试文件是否存在,并采取适当的措施-如果用户没有传递有效的路径/文件引用,这不是你的错,你只需要处理有意义的可能性,是的。很抱歉,我没有解释整个程序:args[0]被一个驱动器号占用,所以我要传递args[1]和args[2]作为文件名。