`
jinyanhui2008
  • 浏览: 312141 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

读取资源文件的N种方法- -

    博客分类:
  • Java
阅读更多
如何读取资源文件:
(一)
Properties props = new Properties();    
props.load(new FileInputStream("db.properties")); 
 (二)
blog.properties文件如下
dbdriver=oracle.jdbc.driver.OracleDriver
dburl=jdbc:oracle:thin:@127.0.0.1:1521:ora92
dbuser=blog
dbpwd=blog
--------------
public class Config {
  public Config() {
    this.initDBConfig();
  }
  public String DBdriver;
  public String DBuser;
  public String DBpwd;
  public String DBurl;
  private void initDBConfig() {
    try {
      ResourceBundle bundle = ResourceBundle.getBundle("blog");
      DBdriver = bundle.getString("dbdriver");
      DBurl = bundle.getString("dburl");
      DBuser = bundle.getString("dbuser");
      DBpwd = bundle.getString("dbpwd");
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
  }
}
----------------
public class DAO {
  public DAO() {
  }
  public Connection getConnection() {
    Connection conn = null;
    Config config = new Config();
    String DBdriver = config.DBdriver;
    String DBuser = config.DBuser;
    String DBpwd = config.DBpwd;
    String DBurl = config.DBurl;
    try {
      Class.forName(DBdriver);
      conn = DriverManager.getConnection(DBurl, DBuser, DBpwd);
    }
    catch (Exception ex) {
      System.out.println("********************");
      System.out.println("不能得到数据库连接");
      System.out.println("DBdriver: " + DBdriver);
      System.out.println("DBuser: " + DBuser);
      System.out.println("DBpwd: " + DBpwd);
      System.out.println("DBurl: " + DBurl);
      ex.printStackTrace();
    }
    return conn;
  }
}
 (三)
 Properties props=new Properties();
 props.load(BugFactory.class.getResourceAsStream("xx.properties"));
 String name = props.getPropery("xxxx");
  此时xx.properties应该与该类放在同一个目录.
(四)
 
ResourceBundle res = ResourceBundle.getBundle("yy.properties");
 String name = res.getString("yyyy");
  yy.properties应放在/WEB-INF/classes目录
(五)
如果你这个Bean打包的话,就把这个文件放在包内。
我一般是这样写的
Properties prop = new Properties();
try
{
 InputStream is = getClass().getResourceAsStream("db.properties");
 prop.load(is);
 if(is!=null)
    is.close();
}
 另:
props.load(new FileInputStream("db.properties")); 是读取当前目录的db.properties文件
getClass.getResourceAsStream("db.properties"); 是读取当前类所在位置一起的db.properties文件
getClass.getResourceAsStream("/db.properties"); 是读取ClassPath的根的db.properties文件,注意
 ClassPath如果是多个路径或者jar文件的,只要在任意一个路径目录下或者jar文件里的根下都可以,如果存在于多个路径下的话,按照ClassPath中的先后顺序,使用先找到的,其余忽略.
分享到:
评论

相关推荐

    i18n-properties-1.0.9.zip

    jquery.i18n-properties-1.0.9 资源文件包。 包含: jquery.i18n.properties.js jquery.i18n.properties-min.js 加载方法: jQuery.i18n.properties({ name:'abc', path:'abc/d/', mode:'map', cache:false, ...

    pcdmis类库文件_c# pc-dmis 读取尺寸, c# pc-dmis-C#工具类资源

    关于测量软件pcdmis的二次开发类库文件,有很多我都不懂。

    史上超高压缩软件2009

    当压缩或解压显示以下错误时,只有三个按键可选择:Y--是,N--否,Q--放弃退出. (有时不能选择"否"(N);一般需要一定的处理才能选"是"(Y),如增加磁盘剩余空间) "Error Open: Retry?[Y/Q]"---压缩时无法打开待压缩的文件...

    Matlab读取BMP文件代码-cuda-example-w19:CUDA2019年冬季物理N体代码示例141

    Matlab读取BMP文件代码示例CUDA物理项目141/241 大卫·摩尔(David Moore)更新于2019年2月4日。 此代码按原样对10,000个粒子运行O(n ^ 2)CUDA模拟。 Galaxy1.txt是一个包含100,000个粒子的星系,并且在kernel.cu...

    [原创]Rattail 老鼠尾巴 键盘鼠标记录器(底层钩子HOOK), v1.1版

    1.1.3643.39525 版本更新了文件记录的格式, 增加了针对按下和弹起使用不同的记录格式字符串, 使记录结果更易分析和读取. 本程序仅在CSDN资源站发布. ------------------------------------- 记录文件标志码的含义:...

    操作系统读写者问题

    测试数据文件包括n行测试数据,分别描述创建的n个线程是读者还是写者,以及读写操作的开始时间和持续时间。每行测试数据包括四个字段,各个字段间用空格分隔。第一字段为一个正整数,表示线程序号。第二字段表示相应...

    操作系统-进程同步

    测试数据文件包括 n行测试数据,分别描述创建的n个线程是读者还是写者,以及读写操作的开始时间和持续时间。每行测试数据包括四个字段,每个字段间用空格分隔。第1个字段为正整数,表示线程的序号。第2个字段表示...

    基于C++文件的哈夫曼编码与解码.zip

    资源包含文件:设计报告word+源码及可执行exe文件 准备一个字符文件,要求: 统计该文件中各种字符的频率 对各字符进行 Huffman 编码,显示每个字符的编码 以及将该文件翻译成 Huffman 编码文件 再将 Huffman 编码...

    自定义的数据文件结构类

    -*功能:实现数据的压缩保存 读取 添加 删除 修改 和快速定位和查找*- -*功能:可以用来保存你想保存的任何格式的数据,方便做为自己的配置文件*--*功能:简单的修改一下定意的结构体就可以用来保存你想保存的任何...

    cmd操作命令和linux命令大全收集

    CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本) 命令大全 1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 ,是一个 监测网络中 DNS...

    文件管理系统的课程设计

    因此文件管理应具有对文件存储空间的管理、目录管理、文件的读写管理以及文件的共享与保护等功能。 第二章 系统分析 本设计的目的是通过设计和调试一个简单的文件管理系统,主要是模拟文件操作命令的执行,来模拟...

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    vfp 处理文本文件

    打开一个文本文件,用VFP查找、运算、替换处理后,再生成文本文件。

    入门学习Linux常用必会60个命令实例详解doc/txt

    在使用mount这个指令时,至少要先知道下列三种信息:要加载对象的文件系统类型、要加载对象的设备名称及要将设备加载到哪个目录下。 (1)Linux可以识别的文件系统 ◆ Windows 95/98常用的FAT 32文件系统:vfat ;...

    贺兰_电子钢琴 2.0.4(简单发布)

    4、开发了一种专用的文件格式——.piano2 文件(电子钢琴乐谱文件)。 5、编辑乐谱文件,可自动为您弹奏,支持左右手谱子同步弹奏,且弹奏时可以同步显示歌词。 6、自带了多个乐谱文件。 7、完全免费使用,...

    贺兰_电子钢琴 2.0.3(简单发布)

    4、开发了一种专用的文件格式——.piano2 文件(电子钢琴乐谱文件)。 5、编辑乐谱文件,可自动为您弹奏,支持左右手谱子,且弹奏时可以同步显示歌词。 6、自带了多个乐谱文件。 7、完全免费使用,开放源...

    贺兰_电子钢琴 2.0.2(简单发布)

    4、开发了一种专用的文件格式——.piano2 文件(电子钢琴乐谱文件)。 5、自动为您弹奏,弹奏时可以同步显示歌词。 6、自带了多个乐谱文件。 7、完全免费使用,开放源代码。 8、更多,期待您的发现…… ...

    读写者实现问题 操作系统

    每个线程按相应测试数据文件的要求进行读写操作。用信号量机制分别实现读者优先和写者优先问题。 1、读者-写者问题的读写操作限制(包括读者优先和写者优先) 1)写-写互斥:不能有两个写者同时进行写操作 2)读-写...

    基于Dubbo实现的SOA分布式(没有实现分布式事务)-SpringBoot整合各种组件的JavaWeb脚手架+源代码+文档

    1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合...

    贺兰_电子钢琴 2.0.5(源代码)

    4、开发了一种专用的文件格式——.piano2 文件(电子钢琴乐谱文件)。 5、编辑乐谱文件,可自动为您弹奏,支持左右手谱子同步弹奏,且弹奏时可以同步显示歌词。 6、自带了多个乐谱文件。 7、完全免费使用,...

Global site tag (gtag.js) - Google Analytics