社区
Eclipse
帖子详情
Property
XT4625
2009-03-30 09:13:38
如何用property访问*.properties中的所有内容?
如:文件名:ATM.properties文件的中有内容如下:
username=a1
password=1
username=a2
password=2
username=a3
password=3
默认情况下我只能访问
最后一个
,如何将前面的内容也访问到?
...全文
98
5
打赏
收藏
Property
如何用property访问*.properties中的所有内容? 如:文件名:ATM.properties文件的中有内容如下: username=a1 password=1 username=a2 password=2 username=a3 password=3 默认情况下我只能访问最后一个,如何将前面的内容也访问到?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
quanjinzhang
2009-03-31
打赏
举报
回复
我写的一个例子,不过这里也会覆盖掉,需要你通过hashmap之类的类来存放所有值
否则:mAllProperties.setProperty(key, value);会覆盖掉以前的属性键值对。
/**
* 通过读取配置文件路径对应的配置文件,获取属性键值对
* @return
*/
private boolean getProperties(String tPropertieFilePath){
File myPropertyfile = null;
boolean returnValue = true;
try {
myPropertyfile = new File(tPropertieFilePath);
if(!myPropertyfile.exists())
{
System.out.println("没有找到属性配置文件“" + tPropertieFilePath
+ "”,请在当前目录下创建config目录,并将名为config.properties的属性配置文件存放到该目录下!");
}else if(!myPropertyfile.canRead())
{
System.out.println("无法读取设定的属性配置文件“" + tPropertieFilePath +"”,请设定属性配置文件的属性为可读!");
}
FileReader fr = null;
BufferedReader br = null;
fr = new FileReader(myPropertyfile);
br = new BufferedReader(fr);
String line = br.readLine();
int i=0;
while(line!=null){
line = line.trim();
int equalIndex = line.indexOf("=");
if(equalIndex>0 && !line.startsWith("#"))
{
String key = line.substring(0, equalIndex).trim().toLowerCase();
String value = line.substring(equalIndex+1, line.length()).trim();
if(!key.equals("") && !value.equals(""))
{
i++;
if(i==1){
mAllProperties = new Properties();
}
mAllProperties.setProperty(key, value);
}
}
line = br.readLine();
}
br.close();
fr.close();
if(mAllProperties.isEmpty())
{
System.out.println("属性配置文件“" + tPropertieFilePath + "”里没有任何属性配置信息,请重新配置相关信息!");
}
}
catch (FileNotFoundException e)
{
e.printStackTrace();
System.out.println("没有找到属性配置文件“" + tPropertieFilePath
+ "”,请在当前目录下创建config目录,并将名为initconfig.properties的属性配置文件存放到该目录下!");
returnValue = false;
} catch (IOException e) {
e.printStackTrace();
System.out.println("读取属性配置文件“" + tPropertieFilePath + "”的内容时发生IO错误!");
returnValue = false;
}
return returnValue;
}
danielzhan
2009-03-31
打赏
举报
回复
properties的父类是hashtable,所以properties中是不能有重名的key的.
得自己写一个类似properties的class,要不就干脆把文件作为txt来读,再自己解析内容.
Study_Work_2009
2009-03-31
打赏
举报
回复
up
fireinjava
2009-03-31
打赏
举报
回复
public class Test {
private static Properties properties = new Properties();
static {
try {
properties.load(GlobalError.class.getClassLoader().getResourceAsStream("src/ATM.properties"));//这边路径自己要配下
} catch (IOException e) {
}
}
public static void main(String args[]) {
System.out.println(properties.get("username"));//用get(key)
}
}
quanjinzhang
2009-03-30
打赏
举报
回复
1、为什么必须使用一样的属性名称呢?如果不使用一样的属性名称,问题不就解决了吗?
2、自己通过java.io.*中的FileReader等去一行一行读取,肯定能都获取到所有值了。
Android中属性
property
_get和
property
_set的详细用法介绍
的这个权限的时候,你去
property
_set和
property
_get的时候都会报: Access denied finding
property
“XXXXXX”,所以在你需要
property
_get的时候也需要添加这个权限。这里面的
property
.te和
property
_contexts文件就是起到一个权限转化的功能,这里实际最后起作用的是sys.dualcamera.cali.cit这个属性(这里就不细述),最后在factory.te(你相关服务权限文件)里加上对应的权限就行。
cmake命令之set_
property
和get_
property
一、set_
property
: 在指定域中设置一个命名属性 set_
property
(<GLOBAL | DIRECTORY [dir] | TARGET [target1 [target2 ...]] | SOURCE [src1 [src2 ...]] |
Android 属性
property
_get/
property
_set
1、
property
_get和
property
_set使用方法
property
_get和
property
_set使用方法 一.使用方法 每个属性都有一个名称和值,他们都是字符串格式。属性被大量使用在Android系统中,用来记录系统设置或进程之间的信息交换。属性是在整个系统中全局可见的。每个进程可以get/set属性。 如下面我们可以在系统中代码设置属性或命令行设置属性,用于系统中的判断, setprop WLAN.SWITCH.FLAG 1 getprop WLAN.SWITCH.FLAG ..
CMake中set_
property
/get_
property
的使用
CMake中set_
property
/get_
property
的使用
Q_
PROPERTY
使用
看到一些qt的程序在使用Q_
PROPERTY
()宏,参考了一下qt文档,发现定义格式如下:Q_
PROPERTY
(type name READ getFunction [WRITE setFunction] [RESET resetFunction] [DESIGNABLE bool] [SCRIP
Eclipse
58,439
社区成员
49,457
社区内容
发帖
与我相关
我的任务
Eclipse
Java Eclipse
复制链接
扫一扫
分享
社区描述
Java Eclipse
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章