一,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配置文件的更多相关文章

  1. 读取.properties配置文件

    方法1 public  class SSOUtils { protected static String URL_LOGIN = "/uas/service/api/login/info&q ...

  2. java读取properties配置文件总结

    java读取properties配置文件总结 在日常项目开发和学习中,我们不免会经常用到.propeties配置文件,例如数据库c3p0连接池的配置等.而我们经常读取配置文件的方法有以下两种: (1) ...

  3. Java读取Properties配置文件

    1.Properties类与Properties配置文件 Properties类继承自Hashtable类并且实现了Map接口,使用键值对的形式来保存属性集.不过Properties的键和值都是字符串 ...

  4. Java 读取 .properties 配置文件的几种方式

    Java 开发中,需要将一些易变的配置参数放置再 XML 配置文件或者 properties 配置文件中.然而 XML 配置文件需要通过 DOM 或 SAX 方式解析,而读取 properties 配 ...

  5. java读取.properties配置文件的几种方法

    读取.properties配置文件在实际的开发中使用的很多,总结了一下,有以下几种方法(仅仅是我知道的):一.通过jdk提供的java.util.Properties类.此类继承自java.util. ...

  6. Java 读取 .properties 配置文件

    java 开发中,经常要读取 properties 配置文件,下面介绍几种读取方式: 1.基于 InputStream 读取配置文件 该方式的优点在于可以读取任意路径下的配置文件 Properties ...

  7. javaweb 读取properties配置文件参数

    场景1:在servlet中读取properties配置文件参数 protected void doGet(HttpServletRequest request, HttpServletResponse ...

  8. Java读取properties配置文件工具类

    1.   PropertyUtils.java package javax.utils; import java.io.InputStream; import java.util.Properties ...

  9. 【转载】java读取.properties配置文件的几种方法

    读取.properties配置文件在实际的开发中使用的很多,总结了一下,有以下几种方法(仅仅是我知道的):一.通过jdk提供的java.util.Properties类.此类继承自java.util. ...

  10. java读取properties配置文件信息

    一.Java Properties类 Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置 ...

随机推荐

  1. WordPress RokIntroScroller插件‘thumb.php’多个安全漏洞

    漏洞名称: WordPress RokIntroScroller插件‘thumb.php’多个安全漏洞 CNNVD编号: CNNVD-201309-383 发布时间: 2013-09-24 更新时间: ...

  2. SIFT算法:特征描述子

    SIFT算法:DoG尺度空间生产  SIFT算法:KeyPoint找寻.定位与优化 SIFT算法:确定特征点方向  SIFT算法:特征描述子 目录: 1.确定描述子采样区域 2.生成描述子 2.1 旋 ...

  3. Lua运算符

    + 加- 减* 乘/ 除^ 幂% 求余# 求长度= 赋值< 小于> 大于== 等于<= 不大于=> 不小于~= 不等于and 逻辑与or 逻辑或not 逻辑非.. 连接字符串

  4. GridControl 列中显示图片 z

    如何在 DevExpress.XtraGrid.GridControl 显示图片列. 方法很多,我把它们逐一写在附言中,方便大家分情况合理使用. 附言1  附言2  附言3  第 1 条附言  ·  ...

  5. HDOJ/HDU 2565 放大的X(分段思考~)

    Problem Description 请你编程画一个放大的'X'. 如3*3的'X'应如下所示: X X XX X5*5的'X'如下所示:X X X X X X XX X Input 输入数据第一行 ...

  6. Keepass 2.x 之 同步与触发器

    同步 之前用的 Keepass 1.x, 要实现工作电脑和个人电脑上的数据库文件同步,使用的是第三方的网盘同步.但有个问题就是,个人不习惯设置同步网盘开机启动,所以有时候工作电脑上的改动还没有同步上传 ...

  7. sublime中文乱码解决办法

    欲解决问题,关键在于让Sublime Text 2支持GB2312和GBK.步骤如下: 1.安装Sublime Package Control. 在Sublime Text 2上用Ctrl+-打开控制 ...

  8. Bzoj 1984: 月下“毛景树” 树链剖分

    1984: 月下“毛景树” Time Limit: 20 Sec  Memory Limit: 64 MBSubmit: 1282  Solved: 410[Submit][Status][Discu ...

  9. No valid host was found

    set in nova.conf -> scheduler_default_filters=AllHostsFilter Tried without success.

  10. 3 视频里weekend05、06、07的可靠性 + HA原理、分析、机制 + weekend01、02、03、04、05、06、07的分布式集群搭建

    现在,我们来验证分析下,zookeeper集群的可靠性 现在有weekend05.06.07 将其一个关掉, 分析,这3个zookeeper集群里,杀死了weekend06,还存活weekend05. ...