java jax rs访问服务器上的文件

时间:2014-04-06 21:35:32

标签: tomcat jax-rs

运行Tomcat 7.0 我的web-inf文件夹中有一个文件,可以通过我的浏览器访问:

http://localhost:8080/wsdarwin_1.0.0/hello.txt

如何在java代码中访问此文件及其内容(我猜是使用相对链接)。我可以使用缓冲的阅读器访问它并访问其完整的URL:

URL requestURL = new URL(PATH_PREFIX_TWO+"/request.txt");
            BufferedReader testIn = new BufferedReader(new InputStreamReader(requestURL.openStream()));

但是有没有办法在本地访问它' ?我没有使用Maven

例如,在本地访问该文件允许我这样做: BufferedReader testIn = new BufferedReader(new FileReader(new File(PATH_PREFIX +" /request.txt"))); 其中PATH_PREFIX =" C:/ users / username /.../ hello.txt" ;;

如果我要将PATH_PREFIX更改为" /hello.txt" ;,它不会访问它(找不到文件错误)

1 个答案:

答案 0 :(得分:0)

不确定这是否是您正在寻找的,但如果您的文件部署在WEB-INF / classes或WEB-INF / lib中的jar中,您可以通过Thread.currentThread().getContextClassLoader().getResourceAsStream(name)其中{ {1}}如果您的资源的全名(例如:name)。

这是一个可移植的解决方案,无需在服务器的文件系统中指定绝对路径。