今天遇见一个问题.不知道怎么解决. 如:
自己建立了一个文件read.txt
里面存放这样的 键值数据
00001 = "中文","中文","中文","中文",...."中文",;
00002 = "中文","中文","中文","中文",...."中文",;
00003 = "中文","中文","中文","中文",...."中文",;
00004 = "中文","中文","中文","中文",...."中文",;
首先要读取到这个文件,然后放到map中,value是一个数组
用Properties的propertyNames方法得到枚举,遍历这个后得到String类型的key
通过Properties的getProperty(key)得到的是一个string,怎么才能保证得到的是一个String数组?
通过Properties的getProperty(key)得到的是一个string,这个string是分号之前的所有,还是逗号之前的?
当这个map里面的东西和原配置文件read.txt里面的东西不一样的时候,触发一个任务,把txt文件里面的东西清空,
把map里面的东西写入到txt文件中
等解答!
反正是text 文件 直接用流写进去啊
[quote]通过Properties的getProperty(key)得到的是一个string,这个string是分号之前的所有,还是逗号之前的?[/quote]
是 包括分号的,需要得到数组,必须是 要先把 " 替换成空格,再用 split(",")
就是一个数组了
重写一个 String[] toString方法,根据你的需要输出
[code="java"]
public static void main(String[] s) {
List conditions = new ArrayList();
MyUtils.addToCollection(conditions, MyUtils.split("a,b-c d,e f-g",
" ,-"));
System.out.println(conditions);// output[a, b, c, d, e, f, g]
}
public static void addToCollection(Collection collection, Object[] arr) {
if (null != collection && null != arr) {
CollectionUtils.addAll(collection, arr);
}
}
public static String[] split(String str, String separatorChars) {
return StringUtils.split(str, separatorChars);
}
[/code]