servlet读取WEB-INF下txt文件的方法

在java web开发中,经常会涉及到文件的读写问题,而由于部署在tomcat上之后,文件的目录结构会发生一些变化,因此常规的获取相对或绝对路径的方式用在此处会导致获取不到文件的尴尬局面,下面便介绍一下在servlet中如何读取WEB-INF下的txt文件。

下图为项目路径,而这里要实现的便是使用CounterServlet来读取WEB-INF目录下的count.txt文件。

这里写图片描述

前面一步一步讲原理,完整代码放在最后面

首先获取路径,常规的相对路径在这里无效,在tomcat上部署后目录结构变了

String path = this.getServletContext().getRealPath("/WEB-INF/count.txt");

获取到路径后创建File对象

File file = new File(path);

创建一个BufferedReader对象用来读取文件

BufferedReader br = null;

再创建一个输入字符流对象

InputStreamReader reader = new InputStreamReader(new FileInputStream(file));

利用输入字符流对象创建BufferedReader对象实例

br = new BufferedReader(reader);

然后进行数据的读取

String line = "";
//读取一行的写法
line = br.readLine();

//读取多行的写法
while( (line = br.readLine()) != null ){
    ...
}

最后关闭BufferedReader

if(br != null){
    try {
        br.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

完整代码:

        String path = this.getServletContext().getRealPath("/WEB-INF/count.txt");
        File file = new File(path);
        BufferedReader br = null;
        try {
            InputStreamReader reader = new InputStreamReader(new FileInputStream(file));
             br = new BufferedReader(reader);
             String line = "";
             line = br.readLine();


        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            if(br != null){
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

        }

这里写图片描述

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值