Java maven从用户读取文件输入
我是Maven的新手,在阅读文件时遇到了一些问题。具体来说,我的程序将文件的绝对路径作为用户的输入,然后对其进行解析。不幸的是,我不清楚如何让我的应用程序从任意位置读取作为输入的文件 在我开始在项目中使用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)); 然而,自从
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在加载文件时似乎没有做任何欺骗