成都网站建设设计

将想法与焦点和您一起共享

Java读取WEB应用中的资源

问题:前几天,碰到了需要从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.     @Override
  7.     public void contextDestroyed(ServletContextEvent arg0) {
  8.     }
  9.     @Override
  10.     public void contextInitialized(ServletContextEvent event) {
  11.         //指定要读取的文件路径,此处的test.txt放在工程的web目录下面
  12.         InputStream is = MyListener.class.getResourceAsStream("/../../web/test.txt");
  13.         if(is!=null){
  14.             byte []bytes = new byte[1024];
  15.             try {
  16.                 while(is.read(bytes)>0){
  17.                     System.out.println(bytes.toString());
  18.                 }
  19.             } catch (IOException e) {
  20.                 e.printStackTrace();
  21.             }finally{
  22.                 if(is!=null){
  23.                     try {
  24.                         is.close();
  25.                     } catch (IOException e) {
  26.                         e.printStackTrace();
  27.                     }
  28.                 }
  29.             }
  30.         }
  31.     }
  32. }

工程目录结构图:


分享文章:Java读取WEB应用中的资源
网站地址:https://chengdu.cdxwcx.cn/article/djschoo.html