Java读取WEB应用中的资源

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

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

实例:

import java.io.IOException; 
import java.io.InputStream; 
import javax.servlet.ServletContextEvent; 
import javax.servlet.ServletContextListener; 
public class MyListener implements ServletContextListener { 

    @Override
    public void contextDestroyed(ServletContextEvent arg0) { 
    } 

    @Override
    public void contextInitialized(ServletContextEvent event) { 
        //指定要读取的文件路径,此处的test.txt放在工程的web目录下面 
        InputStream is = MyListener.class.getResourceAsStream("/../../web/test.txt"); 
        if(is!=null){ 
            byte []bytes = new byte[1024]; 
            try { 
                while(is.read(bytes)>0){ 
                    System.out.println(bytes.toString()); 
                } 
            } catch (IOException e) { 
                e.printStackTrace(); 
            }finally{ 
                if(is!=null){ 
                    try { 
                        is.close(); 
                    } catch (IOException e) { 
                        e.printStackTrace(); 
                    } 
                } 
            } 
        } 
    } 



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值