一,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的配置文件,各种语言都有自己所支持的配置文件,配置 ...
随机推荐
-
SEO的Content里面的内容被转义的解决方法
看图,不说话 转义的根源 收工 可能不全面,不过确实解决了这个问题,有更好的方法可以提一下,逆天感激不尽
-
linux 遇见的问题
Permissions 0644 for '/root/.ssh/id_rsa' are too open.问题 如果出现 Permissions 0644 for '/root/.ssh/id_rs ...
-
Android开发之时间日期2
昨天给大家分享了一个时间和日期设置的小例子,今天发现Android的布局组件中有关于时间和日期的设置的组件,废话不多说,先给大家分享一下我的经验. 时间日期设置组件:TimePicker.DatePi ...
-
Github两步认证
获取密钥:ssh-keygen -t rsa 切换到公钥所在路径:cd .ssh 查看该路径下的所有文件:ls 查看公钥:cat id_rsa.pub 获取密钥之后,去https://github. ...
-
WIN7 64位如何添加网络打印机
http://wenku.baidu.com/view/2d64bef0f61fb7360b4c65ac.html 该文介绍的比较详细,并且我按照他的方法,确实安装成功了.
-
[drp 8]get和post的区别,以及乱码问题的解决
导读:不管是之前做.NET还是现在做Java的项目,都有涉及到get和post请求,第一次遇到的时候,应该是在人事系统的时候,那时候说要总结,结果一直没有总结.现在,做一个初步的总结,连着总结一下提交 ...
-
移植DNS服务bind
移植DNS服务bind 标签: makefile工作linuxbuildgcc工具 先写用于DNS的bind. 一. 移植环境 1 .硬件环境: Host : X86 PC Target : MPC8 ...
-
linux下安装subversion出现libtool: link: only absolute run-paths are allowed
configure时加上 --with-apache-libexecdir=/usr/local/apache
-
取值对比ture of false加引号与不加引号的问题-----Bug笔记-160219
一.默认情况,当属性值为布尔值类型的时候对比判断不用加引号<input type="radio" name="city" value="BeiJ ...
-
仿javascript中confirm()方法的小插件
10天没有写博客了,不知道为什么,心里感觉挺不舒服的,可能这是自己给自己规定要去完成的事情,没有按照计划执行,总会心里不怎么舒服.最近事情挺多的,终于今天抽空来更新一下博客了. 今天写的是一个小插件. ...