package com.action;

 import java.io.InputStream;
import java.util.Locale;
import java.util.Properties;
import java.util.ResourceBundle; public class MainTest { public static void main(String[] args) throws Exception {
//第一种方式 ClassLoader 使用这种方式时,path一定不能用使用绝对路径(也就是以“/”开头),虽然不是绝对路径 但它会从跟目录下找 (也就是从src往下找)
Properties p1 = new Properties();
InputStream is1 = MainTest.class.getClassLoader().getResourceAsStream("com/test.properties");
p1.load(is1);
String result1 = p1.get("test").toString();
System.out.println(result1);
//第二种方式 ClassLoader 使用这种方式时,path一定不能用使用绝对路径(也就是以“/”开头),虽然不是绝对路径 但它会从跟目录下找 (也就是从src往下找)
Properties p2 = new Properties();
InputStream is2 = ClassLoader.getSystemResourceAsStream("com/test.properties");
p2.load(is2);
String result2 = p2.get("test").toString();
System.out.println(result2);
//第三种方式 Class 使用这种方式时,path既可以使用绝对路径也可以使用相对路径,只要正确找到文件的路径即可
Properties p3 = new Properties();
//InputStream is3 = MainTest.class.getResourceAsStream("../test.properties");
InputStream is3 = MainTest.class.getResourceAsStream("/com/test.properties");
p3.load(is3);
String result3 = p3.get("test").toString();
System.out.println(result3);
//第四种方式 ResourceBundle 使用这种方式时,资源文件必须放到src的根目录下面,并且getBundle()里面的参数不需要后缀
Locale locale1 = new Locale("zh", "CN");
ResourceBundle rb = ResourceBundle.getBundle("test",locale1);//Locale.getDefault();
System.out.println(rb.getString("test"));
//由于资源文件没有放在根目录下 导致异常
//java.util.MissingResourceException: Can't find bundle for base name test, locale zh_CN
} }

Properties读取资源文件的四种方法的更多相关文章

  1. C#读取资源文件的两种方法及保存资源文件到本地

    方法1 GetManifestResourceStream   VB.NET中资源的名称为:项目默认命名空间.资源文件名 C#中则是:项目命名空间.资源文件所在文件夹名.资源文件名 例如:istr = ...

  2. JavaWeb读取资源文件的四种方式

    1. ServletContext 1. 调用getResourcesAsStream方法获取输入流, 相对于webroot, 不用加/2. 读取任何类型的文件3. *只能在web环境下使用 Inpu ...

  3. 精----Java读取xml文件的四种方法

    xml文件: Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT> <VA ...

  4. java读取xml文件的四种方法

    Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT> <VALUE> ...

  5. java读取XML文件的四种方式

    java读取XML文件的四种方式 Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT& ...

  6. matlab读取cvs文件的几种方法

    matlab读取CVS文件的几种方法: 1,实用csvread()函数   csvread()函数有三种使用方法: 1.M = csvread('filename')2.M = csvread('fi ...

  7. Java加载资源文件的两种方法

    处理配置文件对于Java程序员来说再常见不过了,不管是Servlet,Spring,抑或是Structs,都需要与配置文件打交道.Java将配置文件当作一种资源(resource)来处理,并且提供了两 ...

  8. PHP读写XML文件的四种方法

    PHP对XML文件进行读写操作的方法一共有四种,分别是:字符串方式直接读写.DOMDocument读写. XMLWrite写和XMLReader读.SimpleXML读写,本文将依次对这四种方法进行介 ...

  9. R语言读取excel文件的3种方法

    R读取excel文件中数据的方法: 电脑有一个excel文件,原始的文件路径是:E:\R workshop\mydata\biom excel数据为5乘2阶矩阵,元素为                ...

随机推荐

  1. UserDefault 用户首选项读写 swift

    // // ViewController.swift // 首选项数据读写 // // Created by mac on 15/7/12. // Copyright (c) 2015年 fangyu ...

  2. mysql安装/启动报错汇总

    2016/9/6补充 初始化报错: # /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysq ...

  3. iptables规则表

    1.iptables规则表 Filter(针对过滤系统):INPUT.FORWARD.OUTPUT NAT(针对地址转换系统):PREROUTING.POSTROUTING.INPUT.OUTPUT ...

  4. Log4Net学习【三】

    Log4Net配置详解 配置方式一 在相应的应用程序的配置文件中配置,(WinForm对应的是*.exe.config,WebForm对应的是*.config),本实例是Web应用程序,以Web.co ...

  5. MVC4 网站发布(整理 + 部分转载 + 部分问题收集和解决方案)

    网站发布步骤: 这部分是转载文章 在此标明出处,以前有文章是转的没标明的请谅解,因为有些已经无法找到出处,或者与其它原因. 如有冒犯请联系本人,或删除,或标明出处. 因为好的文章,以前只想收藏,但连接 ...

  6. html5 drag api详解

    可以夸张点说,如果你不会拖拽,你不是一个合格的前端开发. 回想下,以前我们是怎么实现拖拽的,主要有以下几步: 1.目标元素绑定mousedown事件,记录下此时鼠标位置和拖拽元素的位置差,分别是 di ...

  7. 【BZOJ】【2002】【HNOI2010】弹飞绵羊

    呃这题的Hint写着splay启发式合并……但是蒟蒻不懂T_T只好写个简单的LCT来蒙混过关,就是时间效率上差劲的很…… 不过能够一次AC心情也是蛮愉悦的~ /******************** ...

  8. bzoj 1041 圆上的整点 分类: Brush Mode 2014-11-11 20:15 80人阅读 评论(0) 收藏

    这里先只考虑x,y都大于0的情况 如果x^2+y^2=r^2,则(r-x)(r+x)=y*y 令d=gcd(r-x,r+x),r-x=d*u^2,r+x=d*v^2,显然有gcd(u,v)=1且u&l ...

  9. CSS3 3D变换

    可以这么说,3D变换是基于三维坐标系的.以下是“盗用”的图 CSS3中的3D变换主要包括以下几个功能函数: 3D位移:包括translateZ()和translate3d(): 3D旋转:包括rota ...

  10. 客户端发包 GS端接收

    客户端发包,GS接收 bool GameServer::ProcessLoop(packet& rPkt)//GS线程做的 { if(false == m_spDataLayer->Re ...