Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.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 maven从用户读取文件输入_Java_Eclipse_Maven_File Io_Filereader - Fatal编程技术网

Java maven从用户读取文件输入

Java maven从用户读取文件输入,java,eclipse,maven,file-io,filereader,Java,Eclipse,Maven,File Io,Filereader,我是Maven的新手,在阅读文件时遇到了一些问题。具体来说,我的程序将文件的绝对路径作为用户的输入,然后对其进行解析。不幸的是,我不清楚如何让我的应用程序从任意位置读取作为输入的文件 在我开始在项目中使用maven之前,我成功地使用了以下代码: String absolutePath = "/Users/akhalsa/path/to/file.txt"; inputStream = new BufferedReader(new FileReader(absolutePath)); 然而,自从

我是Maven的新手,在阅读文件时遇到了一些问题。具体来说,我的程序将文件的绝对路径作为用户的输入,然后对其进行解析。不幸的是,我不清楚如何让我的应用程序从任意位置读取作为输入的文件

在我开始在项目中使用maven之前,我成功地使用了以下代码:

String absolutePath = "/Users/akhalsa/path/to/file.txt";
inputStream = new BufferedReader(new FileReader(absolutePath));
然而,自从迁移到maven之后,这似乎已经停止了工作。根据我在maven中读到的内容,我应该使用

InputStream in = getClass().getResourceAsStream(filePath);
其中
filePath
似乎是相关文件的相对路径。
getResourceAsStream
是否要求正在读取的文件位于jar内?此文件是否可以是外部文件的绝对路径?当我在这里使用绝对路径时,它会显示“未找到资源”

这在允许用户从文件系统输入文件以供maven应用程序处理方面一定是一个常见问题。最好的方法是什么

提前感谢。

getResourceAsStream()在jvm已知的路径上查找资源,因此您无法加载任意文件

Maven不做任何魔术,因此如果您使用的是实际的绝对路径,代码应该继续工作


路径的“用户”部分让我想起windows,但该路径不是有效的windows路径,因此您确定要通过有效的绝对路径吗?

是的,结果证明我的绝对路径错了。一旦我纠正了它,它就工作得很好。正如您所说,maven在加载文件时似乎没有做任何欺骗