配置文件,资源文件的获取方式
来源:互联网 发布:中国少年编程网 编辑:程序博客网 时间:2024/05/29 15:26
web工程中读取资源文件:
servletContext读取web应用中的资源文件。
------------------------------
InputStream is=this.getServletContex().getResourceAsStream("/WEB_INF/classes/XXXX.properties");
InputStream is=this.getServletContex().getRealPath("/WEB_INF/classes/XXXX.properties");
FileInputStream fis =new FileInputStream(path);//此处path指的是相对路径,web应用中,相对java虚拟机。
----------------------------
如果读取资源文件的程序不是servlet ,应该用classload来加载,如java程序中获取资源文件。
通过类装载的方式读取资源文件
注意:
通过类装载的方式读取资源文件的内容,如果动态的更改资源文件的内容不会立即生效(类加载器在成功加载某个类之后,会把得到的 java.lang.Class类的实例缓存起来。下次再请求加载该类的时候,类加载器会直接使用缓存的类的实例,而不会尝试再次加载)。
如果要求立即生效,可以通过类装载的方式得到资源文件的位置,之后再通过操作文件的方式获得输入流。
String path=obj.class.getClassLoader.getResource("XXXX.properties").getPath();
FileInputStream fis =new FileInputStream(path);
----------------------------classload方式------------------
Properties props = new Properties();
InputStream is=obj.class.getClassLoader.getResourceAsStream("XXXX.properties");
这种方式通过类装载器将资源文件加载到内存中,之后再读取。如果文件太大会影响性能。
------------------------------------------------------------------
下面是之前看别人在广西联通项目中通过资源文件定义数据源,并读取资源文件的方式,存在一些不足:数据源配置信息与web层无关,不应使用ServletContextListener类型的实例对象(关联ServletContextEvent)方法getWebClassRootPath()来获取资源文件的路径。
----写完整路径:
package bss.common.base.tools;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class WebVarLoader implements ServletContextListener {
}
- 配置文件,资源文件的获取方式
- 获取资源文件的3种方式
- res:资源文件的配置文件
- 阐述JavaSE中获取properties资源文件的多种方式
- apk获取资源文件及反编译方式
- java获取classpath目录中的资源文件(配置文件)
- Android获取图片资源的方式
- Android获取图片资源的方式 ----- 补充
- Android获取图片资源的方式
- Android内获取图片资源的方式
- Struts2获取Web容器资源的方式
- android-获取图片资源的另一种方式
- Android中常见的资源获取方式
- struts2 中获取 web资源的方式
- 获取url资源的几种方式
- 用类加载器的方式管理资源和配置文件
- 用类加载器的方式管理资源和配置文件
- 用类加载器的方式管理资源和配置文件
- 判断有向图是否有环 [No. 75]
- 从“架构师书单”讲开去
- 我常用的几个提高iOS开发效率的开源类库及工具
- openfire整合已有用户数据库 分享
- 旧文重发:谈企业软件架构设计
- 配置文件,资源文件的获取方式
- 计算几何算法(常用30种)
- 程序员面试题精选100题(58)-八皇后问题
- 程序员面试题精选100题(56)-C/C++/C#面试题(4)
- 设计模式与扩展性
- 使用NSInteger的好处一
- 多一个等号,足以让你文件不断增大
- 事物的特性_ACID
- centos5内核升级步骤