Servlet读取文件的最好的方式
在java web 开发的时候不可避免的会读取文本信息,但是方式不同,所付出的代价也是不一样的,今天学到了一个比较好的实用性的技巧,拿来与大家分享一下。
读取属性配置文件
之所以说成是读取属性(properties)文件,是因为它在开发中使用的频率较高,而且也不像读取xml文件那样的复杂。下面请看
先是目录结构:
下面看一看目标文件的内容吧db.properties文件:
driver = com.mysqy.jdbc.Driver
url = jdbc:mysql://localhost:3306
user = root
password = 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
小结:
- 采用这个方式是利用了在web项目中ServletContext这个类的共享信息的特征
- 读取文件的目录是相对于这个项目本身的相对的路径,这样显得更加的灵活
- 使用Properties类进行对属性值的获取,其底层是map的键值对的实现原理
- 使用属性配置文件的好处在于,在修改代码的时候只需要修改文件中的信息即可。代码的可维护性大大的得到了增强
- 使用类装载器进行读取类路径下文件信息(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
这样也可以达到相同读取文件信息的效果!
Servlet读取文件的最好的方式的更多相关文章
- 精通awk系列(3):铺垫知识:读取文件的几种方式
回到: Linux系列文章 Shell系列文章 Awk系列文章 读取文件的几种方式 读取文件有如下几种常见的方式: 下面使用Shell的read命令来演示前4种读取文件的方式(第五种按字节数读取的方式 ...
- 【转】C#读取文件时的共享方式
string sFileName = @"C:\Exchange.dat";System.IO.StreamReader file = new System.IO.StreamRe ...
- java读取文件的几种方式性能比较
//普通输入流读取文件内容 public static long checksumInputStream(Path filename) { try(InputStream in= Files.newI ...
- Java读取文件的几种方式
package com.mesopotamia.test; import java.io.BufferedReader; import java.io.ByteArrayInputStream; im ...
- 示例:Servlet读取文件内容并在页面打印输出
package com.mhb; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; impo ...
- Servlet读取配置文件的三种方式
一.利用ServletContext.getRealPath()[或getResourceAsStream()] 特点:读取应用中的任何文件.只能在web环境下. private void text3 ...
- servlet 读取文件
读取pdf protected void service(HttpServletRequest request, HttpServletResponse response) throws Servle ...
- shell读取文件每一行的方式
1.使用read命令读取一行数据 while read myline do echo "LINE:"$myline done < datafile.txt 2.使用read命 ...
- hadoop 读取文件的两种方式
1.操作javaAPI方式 static{ URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory()); } public stat ...
随机推荐
- zookeeper快速入门
一.zookeeper简介 zookeeper 是apache旗下的hadoop子项目,它一个开源的,分布式的服务协调器.同样通过zookeeper可以实现服务间的同步与配置维护.通常情况下,在分布式 ...
- Linux下如何进入中文目录
给Linux安装图形用户界面之后,会在工作目录中生成图片, 文档, 下载........等中文目录,以前不知道如何进入这些目录,感觉也没有必要,今天在火狐上下载了一个软件,默认在下载这个目录当中,实在 ...
- python2.7练习小例子(三)
3):题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 程序分析:假设该数为 x.1.则:x + 100 = n2, x + 100 + ...
- java-反射深度剖析
Java反射是Java语言一个很重要的特征,简单剖析下反射的定义.原理.使用.性能及应用场景. (一)定义 程序运行时,允许改动程序结构或变量类型,这种语言称为动态语言.java不属于动态语言,但提供 ...
- H5canvas基础
本篇文章开始讲解HTML5的核心功能之一:Canvas 通过Canvas可以动态生成和展示图形.图表.图像以及动画. Canvas API功能非常多,我们将讨论最常用的功能. 我们先新建一个canva ...
- 嫌我的键盘的backspace太小,就尝试了一下改键工具--keyTweak
KeyTweak是一个很简单的键盘remap小工具,主要功能就是可以让我们选择某个按键并重新赋予该按键一个新的功能.如果哪天你的键盘某个重要的键坏掉了,可以通过这个免费的软件来重新定义该按键的功能.譬 ...
- Node.js 网络
稳定性: 3 - 稳定 net 模块提供了异步网络封装,它包含了创建服务器/客户端的方法(调用 streams).可以通过调用 require('net') 包含这个模块. net.createSer ...
- 简单将sublime text 配置为lua或c#一键编译运行环境
lua { "cmd": "luajit $file", "selector":"source.lua" } C { & ...
- 使用eclipse开发工具与hibernate开发者为开源一起做贡献
本文作者:苏生米沿 本文地址:http://blog.csdn.net/sushengmiyan/article/details/50525363 hibernate使用的是gradle自动构建工具, ...
- AJAX编程实践
---------------------------------------------------------------------------------------------------- ...