Properties读取资源文件的四种方法

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读取资源文件的四种方法的更多相关文章
- C#读取资源文件的两种方法及保存资源文件到本地
方法1 GetManifestResourceStream VB.NET中资源的名称为:项目默认命名空间.资源文件名 C#中则是:项目命名空间.资源文件所在文件夹名.资源文件名 例如:istr = ...
- JavaWeb读取资源文件的四种方式
1. ServletContext 1. 调用getResourcesAsStream方法获取输入流, 相对于webroot, 不用加/2. 读取任何类型的文件3. *只能在web环境下使用 Inpu ...
- 精----Java读取xml文件的四种方法
xml文件: Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT> <VA ...
- java读取xml文件的四种方法
Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT> <VALUE> ...
- java读取XML文件的四种方式
java读取XML文件的四种方式 Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT& ...
- matlab读取cvs文件的几种方法
matlab读取CVS文件的几种方法: 1,实用csvread()函数 csvread()函数有三种使用方法: 1.M = csvread('filename')2.M = csvread('fi ...
- Java加载资源文件的两种方法
处理配置文件对于Java程序员来说再常见不过了,不管是Servlet,Spring,抑或是Structs,都需要与配置文件打交道.Java将配置文件当作一种资源(resource)来处理,并且提供了两 ...
- PHP读写XML文件的四种方法
PHP对XML文件进行读写操作的方法一共有四种,分别是:字符串方式直接读写.DOMDocument读写. XMLWrite写和XMLReader读.SimpleXML读写,本文将依次对这四种方法进行介 ...
- R语言读取excel文件的3种方法
R读取excel文件中数据的方法: 电脑有一个excel文件,原始的文件路径是:E:\R workshop\mydata\biom excel数据为5乘2阶矩阵,元素为 ...
随机推荐
- 条款21:必须返回对象object时,不要返回其引用reference
如下为一个有理数类,其中包含一个用来计算乘积的函数: #include <iostream> using namespace std; class Rational { public: R ...
- iOS 进阶 第十九天(0423)
0427 深复制/浅复制 浅复制:是址引用 深复制:是值拷贝 下面是解释,如下图: 运行时机制runtime 1.表象的就是MPMoviePlayer 2.深层的是 clang -rewrite-ob ...
- JSP的7个动作指令
动作指令与编译指令不同,编译指令是通知Servlet引擎的处理信息,而动作指令知识运行时的动作.编译指令在将JSP编译成Servlet时起作用,而处理指令通常可替换成JSP脚本,它知识JSP脚本的标准 ...
- UITableView swift
// // ViewController.swift // UILabelTest // // Created by mac on 15/6/23. // Copyright (c) 2015年 fa ...
- C++编程显示四则运算题目
题目:C++编程显示四则运算题目 设计思路:(1)让用户自己确定出题的数量,同时显示加减乘除四则运算. (2)考虑到用户可能只会一种运算,因此可以选择运算.
- bower解决js的依赖管理
bower解决js的依赖管理 前言: 一个新的web项目开始,我们总是很自然地去下载需要用到的js类库文件,比如jQuery,去官网下载名为jquery-1.10.2.min.js文件,放到我们的项目 ...
- cacti手册选译(1)
第一章 系统需求 Cacti需要你的系统安装一下软件: RRDTool版本1.0.49及以上,推荐1.4+ MYSQL5.x及以上版本 PHP5.1及以上 支持PHP的web Server如Apach ...
- asp.net webservice 返回json数据乱码解决方法
[WebMethod] public void QueryRiskNotice(string phone) { try { var data = _riskNoticeDal.QueryRiskNot ...
- android开发 根据Uri获取真实路径
Uri uri = data.getData(); String[] proj = { MediaStore.Images.Media.DATA }; Cursor actualimagecursor ...
- 【笔记】ASP.NET MVC Model元数据
问题1:什么叫Model元数据? Model元数据,是针对数据类型的一种描述信息.由于复杂类型(或者说类型嵌套的存在,比如CustomerModel中有一个属性为复杂类型Address)的存在,因此M ...