我有个工程在SRC目录下有个RMI文件夹,我将这个工程打成JAR包,要怎么样获取的到这个目录下的文件夹路径?
获取类路径下的文件路径:
如在jar中有文件:
a\a.log
可以通过如下方式得到绝对路径
Thread.currentThread().getContextClassLoader().getResource("a\a.log");
如获取流:
Thread.currentThread().getContextClassLoader().getResourceAsStream("a\a.log");
其他几种方式
1、获取本地文件系统资源(不推荐使用,最后没招时使用)
File
2、获取当前类所在目录下的资源
MyServlet.class.getResourceAsStream(name)
3、获取Classpath资源
Thread.currentThread().getContextClassLoader().getResourceAsStream(name)
4、在Servlet中如何访问呢 访问web应用下的资源
ServletContext context = this.getServletContext();
String catalogFileName = context.getInitParameter(“catalogFileName”);
InputStream is = null;
BufferedReader catReader = null;
try {
is = context.getResourceAsStream(catalogFileName);
catReader = new BufferedReader(new InputStreamReader(is));
//后续就按照流式读文件操作了
……
考虑以 System.getProperty("user.dir") 得相对路径去获取吧