zl程序教程

您现在的位置是:首页 >  Java

当前栏目

Java读取WEB应用中的资源

2023-03-15 21:57:57 时间

问题:前几天,碰到了需要从web应用读取文件内容的问题。一般的,配置文件都放在工程src目录下,那样读起来也很方便,对于大多数人都是这种习惯。但这次偏偏就放在WebContent目录下的子目录里,虽然郁闷,问题还是要解决的。因此在此聊记一笔。

解决方法:XXX.class.getResourceAsStream(Path)获取流对象,要明白部署后目录的变化

实例:

  1. import java.io.IOException;  
  2. import java.io.InputStream;  
  3. import javax.servlet.ServletContextEvent;  
  4. import javax.servlet.ServletContextListener;  
  5. public class MyListener implements ServletContextListener {  
  6.  
  7.     @Override 
  8.     public void contextDestroyed(ServletContextEvent arg0) {  
  9.     }  
  10.  
  11.     @Override 
  12.     public void contextInitialized(ServletContextEvent event) {  
  13.         //指定要读取的文件路径,此处的test.txt放在工程的web目录下面  
  14.         InputStream is = MyListener.class.getResourceAsStream("/../../web/test.txt");  
  15.         if(is!=null){  
  16.             byte []bytes = new byte[1024];  
  17.             try {  
  18.                 while(is.read(bytes)>0){  
  19.                     System.out.println(bytes.toString());  
  20.                 }  
  21.             } catch (IOException e) {  
  22.                 e.printStackTrace();  
  23.             }finally{  
  24.                 if(is!=null){  
  25.                     try {  
  26.                         is.close();  
  27.                     } catch (IOException e) {  
  28.                         e.printStackTrace();  
  29.                     }  
  30.                 }  
  31.             }  
  32.         }  
  33.     }  
  34.  
  35. }  

工程目录结构图:

 

原文链接:http://o-oand0-0.iteye.com/blog/1328642

【编辑推荐】

  1. Java中运用数组的四种排序方法
  2. Java实现实用的ZIP压缩与解压
  3. Java防止SQL注入的几个途径
  4. Java并发编程:守护线程
  5. 深入Java虚拟机之内存优化