问题描述
今天遇见一个问题.不知道怎么解决. 如:自己建立了一个文件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文件中等解答! 问题补充:yanq12 写道
解决方案
反正是text 文件 直接用流写进去啊
解决方案二:
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);}
解决方案三:
引用通过Properties的getProperty(key)得到的是一个string,这个string是分号之前的所有,还是逗号之前的?是 包括分号的,需要得到数组,必须是 要先把 " 替换成空格,再用 split(",")就是一个数组了重写一个 String[] toString方法,根据你的需要输出