读取Properties配置文件
一,Android中
在Android中读取配置文件,可以使用System.getProperties()方法读取:
1,在res资源目录下,新建一个文件夹 raw,然后在其下创建一个.properties文件.如:
request_char=utf-8
URL=http://192.168.1.101:8080/ServerAQI/JsonAction
range_long=7
#days
from_date_name=fromDate
to_date_name=toDate
2,可以定义一个工具类,接受android.content.res.Resources类型的参数,返回Properties对象,如:
package spt.assist; import java.io.IOException;
import java.util.Properties; import android.content.res.Resources.NotFoundException;
import android.util.Log; import spt.aqi.activity.R; public class PropertyConfig {
/**获取配置文件信息中的指定值.
* @param resources
* @param key
* @return
*/
public static String getProperty(android.content.res.Resources resources,
String key) {
Properties properties = getProperties(resources);
return properties.getProperty(key);
} /**获取配置文件中的信息.
* @param resources
* @return
*/
public static Properties getProperties(
android.content.res.Resources resources) {
Properties props = new Properties();
try {
props.load(resources.openRawResource(R.raw.properties));
} catch (NotFoundException e) {
Log.i("sysout",
"ResourceSearcher:OpenFileFromUtil:" + e.getMessage());
e.printStackTrace();
return null;
} catch (IOException e) {
Log.i("sysout",
"ResourceSearcher:OpenFileFromUtil:" + e.getMessage());
e.printStackTrace();
return null;
}
return props;
}
}
3,在Android中的资源类ContextWrapper的子类(如Activity或Service)类中调用调用getResources()方法并传入上面的工具类的方法,如,在Service类中,
final String url = PropertyConfig.getProperty(getResources(), "URL");
二,普通的java中
在Android中特有的使用android.content.res.Resources的方式有点局限性,就是必须在ContextWrapper的子类中获取android.content.res.Resources,所以以上可以使用URL来解决:
1)将raw/properties.properties放在src目录下,然后调用
URL url = PropertyConfig.class.getClassLoader().getResource("raw/properties.properties");
获取URL,然后可以调用该类的url.openStream()获取InputStream,然后后面的内容一样.
三,java web中
1,在Servlet中,可以使用javax.servlet.GenericServlet的ServletContext()方法读取,如:
String path = "/WEB-INF/jdbc_connection.properties"; //读取WEB-INF中的配置文件 String realPath = getServletContext().getRealPath(path);//getServletContext()相当于http://localhost/demo05
2,在普通的自定义的类中,可以使用ClassLoader读取,如:
// 获取配置文件
String filePath;
File file = null;
try {
filePath = PropertyConfig.class.getClassLoader().getResource("").toURI().getPath(); // web-inf/classes
filePath = filePath.substring(1); // 去掉最前面的/符号.
file = new File(filePath).getParentFile(); // 发现运行后,该目录下文件会被替换,所有不建议放在classes目录下,况且,本不应数据class文件.
file = new File(file + "/raw/conf.properties");
此时raw/properties.properties配置文件放置在Web-inf/classes下,如:WebRoot\WEB-INF\raw\properties.properties.值得注意的是,我运行过程序,发现如果将配置文件直接放在Web-inf/classes下,响应中断后,会被替换,所以不要将配置文件直接放在该目录下,况且,本来配置文件就不属于class文件,理当然不该直接放在Web-inf/classes目录下.
读取Properties配置文件的更多相关文章
- 读取.properties配置文件
方法1 public class SSOUtils { protected static String URL_LOGIN = "/uas/service/api/login/info&q ...
- java读取properties配置文件总结
java读取properties配置文件总结 在日常项目开发和学习中,我们不免会经常用到.propeties配置文件,例如数据库c3p0连接池的配置等.而我们经常读取配置文件的方法有以下两种: (1) ...
- Java读取Properties配置文件
1.Properties类与Properties配置文件 Properties类继承自Hashtable类并且实现了Map接口,使用键值对的形式来保存属性集.不过Properties的键和值都是字符串 ...
- Java 读取 .properties 配置文件的几种方式
Java 开发中,需要将一些易变的配置参数放置再 XML 配置文件或者 properties 配置文件中.然而 XML 配置文件需要通过 DOM 或 SAX 方式解析,而读取 properties 配 ...
- java读取.properties配置文件的几种方法
读取.properties配置文件在实际的开发中使用的很多,总结了一下,有以下几种方法(仅仅是我知道的):一.通过jdk提供的java.util.Properties类.此类继承自java.util. ...
- Java 读取 .properties 配置文件
java 开发中,经常要读取 properties 配置文件,下面介绍几种读取方式: 1.基于 InputStream 读取配置文件 该方式的优点在于可以读取任意路径下的配置文件 Properties ...
- javaweb 读取properties配置文件参数
场景1:在servlet中读取properties配置文件参数 protected void doGet(HttpServletRequest request, HttpServletResponse ...
- Java读取properties配置文件工具类
1. PropertyUtils.java package javax.utils; import java.io.InputStream; import java.util.Properties ...
- 【转载】java读取.properties配置文件的几种方法
读取.properties配置文件在实际的开发中使用的很多,总结了一下,有以下几种方法(仅仅是我知道的):一.通过jdk提供的java.util.Properties类.此类继承自java.util. ...
- java读取properties配置文件信息
一.Java Properties类 Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置 ...
随机推荐
- Node.js权威指南 (14) - 使用Express构建Web应用程序
14.1 Express概述 / 415 14.1.1 安装Express / 415 14.1.2 使用Express开发一个简单的示例应用程序 / 415 Backup for docker: e ...
- MS SQL Server 如何得到执行最耗时的前N条T-SQL语句-
--得到最耗时的前N条T-SQL语句 --适用于SQL SERVER 2005及其以上版本 --给N赋初值为30 ;with maco as ( select top (@n) plan_handle ...
- Android开发学习笔记:浅谈WebView
本文转自:http://www.2cto.com/kf/201108/101518.html WebView(网络视图)能加载显示网页,可以将其视为一个浏览器.它使用了WebKit渲染引擎加载显示网页 ...
- route命令详解与使用实例
1. 使用背景 需要接入两个网络,一个是部署环境所在内网环境,这个环境是上不了外网, 外网环境很可能是一个无线网络.如果两者都连接上,很可能导致有一方不能起作用,即外网或内网上不了,常常需要使用繁 ...
- 常用SQL语句(增删查改、合并统计、模糊搜索)
转自:http://www.cnblogs.com/ljianhui/archive/2012/08/13/2695906.html 常用SQL语句 首行当然是最基本的增删查改啦,其中最重要的是查. ...
- EasyUI的增删查改(后台ASP.NET)
转自:http://www.cnblogs.com/dedeyi/archive/2013/04/22/3035057.html 某某人曾经跟我说,你们做系统不就是增删查改吗. 是啊,很多时候我们就是 ...
- Sql Server CONVERT获取当前日期及日期样式
Sql Server CONVERT获取当前日期及日期样式(转)(2012-06-06 12:00:24) 转载▼ // 标签: 杂谈 分类: SQL Sql Server CONVERT样式 获取当 ...
- UNion ALL 和 UNION 的区别
UNION: 指定合并多个结果集并将其作为单个结果集返回.ALL: 将全部行并入结果中.其中包括重复行.如果未指定该参数,则删除重复行.
- 通过修改 Apache 的配置文件 htaccess 文件实现自定义404页面
最近在学习使用Apache服务器的配置,做一个记录. Apache下有个.htaccess文件,是Apache的一个特殊的配置文件.这个配置文件默认是没有的,要手动在各自的项目的根目录编写才行. 要实 ...
- Naive and Silly Muggles
Problem Description Three wizards are doing a experiment. To avoid from bothering, a special magic i ...