博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Servlet读取文件的最好的方式
阅读量:6250 次
发布时间:2019-06-22

本文共 1482 字,大约阅读时间需要 4 分钟。

在java web 开发的时候不可避免的会读取文本信息,但是方式不同,所付出的代价也是不一样的,今天学到了一个比较好的实用性的技巧,拿来与大家分享一下。

读取属性配置文件


之所以说成是读取属性(properties)文件,是因为它在开发中使用的频率较高,而且也不像读取xml文件那样的复杂。下面请看


先是目录结构:

目录结构


下面看一看目标文件的内容吧db.properties文件:

driver = com.mysqy.jdbc.Driverurl = jdbc:mysql://localhost:3306user = rootpassword = mysql
  • 常规方式

FileInputStream  fis = new FileInputStream(new File("db.properties"));        System.out.println(fis);

小结:

采用这个方式会很繁琐,而且对于文件的操作也不是很方便,我们需要手动的处理很多信息。

  • java web 方式

response.getWriter().append("Served at: ").append(request.getContextPath());        FileInputStream fis = (FileInputStream) this.getServletContext()                .getResourceAsStream("/WEB-INF/classes/db.properties");        Properties properties = new Properties();        properties.load(fis);        String url = properties.getProperty("url");        System.out.println(url);

运行结果:

jdbc:mysql://localhost:3306

小结:

  1. 采用这个方式是利用了在web项目中ServletContext这个类的共享信息的特征
  2. 读取文件的目录是相对于这个项目本身的相对的路径,这样显得更加的灵活
  3. 使用Properties类进行对属性值的获取,其底层是map的键值对的实现原理
  4. 使用属性配置文件的好处在于,在修改代码的时候只需要修改文件中的信息即可。代码的可维护性大大的得到了增强

  • 使用类装载器进行读取类路径下文件信息(src路径下的配置文件) 的方法

ClassLoader loader = MyServlet.class.getClassLoader();        InputStream is = (InputStream) loader.getResourceAsStream("db.properties");        Properties properties = new Properties();        properties.load(is);        String password = properties.getProperty("password");        System.out.println("java web项目获得的类路径下的文件的属性配置文件信息是:"+ password);

程序运行结果是:

java web项目获得的类路径下的文件的属性配置文件信息是:mysql


这样也可以达到相同读取文件信息的效果!

你可能感兴趣的文章
MySQL ibdata1文件太大的解决办法
查看>>
Centos 6: Install Nginx
查看>>
使用虚拟机VMware出现笔记本无法上网问题
查看>>
高负载、高并发网站架构知识汇总-大流量网站架构的几点认识
查看>>
Wordpress get_bloginfo函数的参数及用法
查看>>
我的友情链接
查看>>
ECMAScript 6 扫盲(一)
查看>>
46. Python Socket编程
查看>>
dsh 批量管理服务器
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
森森的测试
查看>>
nat 转换 vrrp热备份 端口跟踪
查看>>
Linux crontab调用脚本中的ifconfig命令返回为空
查看>>
Linux解决Device eth0 does not seem to be present
查看>>
php 冒泡排序法
查看>>
seaJs原理分析和源码解读(上)
查看>>
docker学习记录(二)--安装docker并配置镜像源
查看>>
HTML5 localStorage本地存储实际应用举例
查看>>
python之装饰器
查看>>