javaWeb项目下获取当前类的绝对路径
来源:互联网 发布:js模块化概念 编辑:程序博客网 时间:2024/06/05 18:07
在开发中我们经常会对文件进行操作,所以也就经常涉及到文件路径问题。那么在JavaWeb项目中如何获取当前项目或Java类的路径呢?
如下代码是一个简单的Servlet 类:
public class First extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 情况1String realPath = this.getServletContext().getRealPath("");System.out.println(realPath);// E:\Server\tomcat-6.0.30\webapps\Day003// 情况2ClassLoader classLoader = this.getClass().getClassLoader();String path = classLoader.getResource("").getPath();System.out.println(path);// /E:/Server/tomcat-6.0.30/webapps/Day003/WEB-INF/classes/}}由上代码可以得出有两种方法获取当前项目的路径。一是this.getServletContext().getRealPath("");即通过Servlet上下文对象获取路径,该路径指向当前Servlet容器所在位置,也就是当前项目路径;二是通过类加载器获取当前类的路径,在这里特别提醒:所有类的路径都指向 服务器路径/项目名称/WEB-INF/classes/ ,因为项目发布后所有的.class 文件都放在这个目录下。
既然得到了以上信息,那么我们如何来读取项目下的一个文件呢?文件所在位置如下:
操作代码如下:
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 情况1//InputStream is = new FileInputStream("1.jpg");// 报错, java.io.FileNotFoundException: 1.jpg (系统找不到指定的文件。)File file = new File("1.jpg");System.out.println(file.getAbsolutePath()); // E:\Server\tomcat-6.0.30\bin\1.jpg// 情况2String realPath = this.getServletContext().getRealPath("1.jpg");InputStream is2 = new FileInputStream(realPath);// 情况3ClassLoader classLoader = this.getClass().getClassLoader();String path = classLoader.getResource("../../1.jpg").getPath();InputStream is3 = new FileInputStream(realPath);}由上可知,不能使用InputStream is = new FileInputStream("1.jpg"); 因为web项目发布到服务器后文件目录有所改变。所以只能使用上面的情况2,和情况3进行本项目下的文件操作。
0 0
- javaWeb项目下获取当前类的绝对路径
- JavaScript中获取当前项目的绝对路径
- Linux下获取当前程序的绝对路径
- java获取当前类的绝对路径
- java获取当前类的绝对路径
- java获取当前类的绝对路径
- java获取当前类的绝对路径
- java获取当前类的绝对路径
- java 获取当前类的绝对路径
- java获取当前类的绝对路径
- java获取当前类的绝对路径
- 获取当前类的绝对路径,去掉file:/
- java获取当前类的绝对路径
- java类获取当前应用的绝对路径
- java获取当前类的绝对路径
- java获取当前类的绝对路径
- 获取classpath和当前类的绝对路径
- java获取当前类的绝对路径
- NYOJ 478 月老的烦恼(1)【因字数&&HDU 1215 七夕节】
- Divide Two Integers
- min sum
- [LeetCode][172][Factorial Trailing Zeroes]
- 黑马程序员——Java学习之“浮”谈设计模式
- javaWeb项目下获取当前类的绝对路径
- Form.getInputs
- Js中parseFloat()方法所产的精度不一致问题
- 柴静穹顶之下 感想
- spring rmi 多 ip情况下出现的问题
- linux i2c架构简析
- Linux设备驱动(2)——编译加载
- iOS 自动化集成和测试
- Caused by:org.hibernate.MappingNotFoundException:resouce:com/you/model/Monkey.hbm.xml not found