maven从用户读取文件输入

时间:2014-03-14 03:21:19

标签: java eclipse maven file-io filereader

我对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应用程序处理时,这必然是一个常见问题。最好的方法是什么?

提前致谢。

1 个答案:

答案 0 :(得分:0)

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

Maven没有神奇的技巧,所以如果你使用实际的绝对路径,代码应该继续工作。

路径的“用户”部分让我想起了Windows,但路径不是有效的Windows路径,所以你确定你传递的是有效的绝对路径吗?