Java读取WEB应用中的资源
2023-03-15 21:57:57 时间
问题:前几天,碰到了需要从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();
- }
- }
- }
- }
- }
- }
工程目录结构图:
原文链接:http://o-oand0-0.iteye.com/blog/1328642
【编辑推荐】
相关文章
- 简单聊聊Redis中的几种Java客户端,以及它们的优缺点!
- 并发编程的原子性 != 事务ACID的原子性
- Java实战:hutool-db实现多数据源配置
- 频繁插入,用什么存储引擎更合适?
- JVM & MySQL时区配置问题-两行代码让我们一帮子人熬了一个通宵
- 测试开发工程师必备技术栈(附详细技术点)
- 2021 年 Java 开发者生产力报告
- Java 中 NullPointerException 的完美解决方案
- 三端一体计算方案:Unify SQL Engine
- 您遵循过这些Jenkins优秀实践吗?
- 每秒上千次高并发访问,HDFS优雅的抗住了
- 如何成为一名合格的Java程序员?
- 高并发+海量数据下如何实现系统解耦?「下」
- 我身边的高T,问了Java面试者这样的问题......
- 高并发+海量数据下如何实现系统解耦?「中」
- 亿级流量下的分布式锁优化方案!太好用了
- JavaScript是什么,如何立足于编程语言之林?
- 一张图看明白并发编程!对,就一张图
- JVM调优之垃圾定位、垃圾回收算法、垃圾处理器对比
- 冷饭新炒:理解JDK中UUID的底层实现