Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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
Filenotfoundexception JAVA,需要完整路径_Java_File_Path_Filenotfoundexception - Fatal编程技术网

Filenotfoundexception JAVA,需要完整路径

Filenotfoundexception JAVA,需要完整路径,java,file,path,filenotfoundexception,Java,File,Path,Filenotfoundexception,我的程序在参数中获取一个文件名,但如果我想使用它,我需要完整的目录路径,或者获取filenotfoundexception。 例如: 我的程序从C:\Users\me\documents获取了参数中的sample.txt File file = new File(args[0]); FileReader fr = new FileReader(file); 抛出filenotfoundexception。 那么我应该用什么来定位文件呢? 我看到了这么多类似的问题,但我没有找到解决办法:( 我试

我的程序在参数中获取一个文件名,但如果我想使用它,我需要完整的目录路径,或者获取filenotfoundexception。 例如: 我的程序从C:\Users\me\documents获取了参数中的sample.txt

File file = new File(args[0]);
FileReader fr = new FileReader(file);
抛出filenotfoundexception。 那么我应该用什么来定位文件呢? 我看到了这么多类似的问题,但我没有找到解决办法:( 我试图使用getResources和getPath,但什么都没有

 File fileName = new File("myfile.txt");
       if(!fileName.exists()) {
       fileName.createNewFile();
} 
FileOutputStream oFile = new FileOutputStream(fileName, false); 

添加此代码如果您的文件不在源代码所在的目录中,这将为您创建一个文件,那么您将不会在后一部分遇到filenotfound异常

如果该文件与源代码位于同一目录中,您可以打开一个仅包含该文件名的文件。如果该文件位于任意位置,则您需要提供complete文件的路径及其名称

例如:
c:\documents\sample.txt


或者您可以尝试的另一件事是递归地遍历文件系统中的所有文件夹并找到该文件。但是,这将是一个非常糟糕的解决方案。

如果需要,您可以获取当前目录并将其添加到路径中。但是,您还必须处理指定的参数是否为[0]在盲目添加当前目录之前是相对或绝对路径。如果您使用的是Java 8,请查看
路径
对象以获得潜在帮助。只需尝试打印
args[0]
并查看它是什么。如果该路径正确,您的文件应该存在..当我打印args[0].getAbsolutePath它给出了一个完全不同的路径,其中不存在sample.txt简单的getPath返回sample.txt但我想使用file.src/file.txt中的数据-这是一种文件路径格式使用我提供的代码将此文件添加到您的代码中可能您没有权限读取您尝试读取的文件同样,似乎它只是在项目文件夹中搜索,而不是在其他文件夹中搜索。可能我必须添加完整路径才能找到该文件。这个答案不正确,因此我对它投了反对票。当前工作目录通常与包含源代码的目录不相同。我是否说过当前工作目录始终是包含源代码的e目录?GalYou只提到了包含源代码的目录。但重要的是当前的工作目录。它们可能相同,也可能不同。