怎么得到String数组?

2019-03-25 13:45|来源: 网路

今天遇见一个问题.不知道怎么解决. 如:
自己建立了一个文件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 写道
引用
通过Properties的getProperty(key)得到的是一个string,这个string是分号之前的所有,还是逗号之前的?

是 包括分号的,需要得到数组,必须是 要先把 " 替换成空格,再用 split(",")
就是一个数组了


重写一个 String[] toString方法,根据你的需要输出


嗯,输出的是带分号的!如果发现配置文件的内容和map的不一样,怎么把map的东西放入到配置文件中呢?

问题补充:
qq1988627 写道
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);
	}



如果发现配置文件的内容和map的不一样,怎么把map的东西放入到配置文件中呢?
有可能key也不一样

相关问答

更多
  • for(int i=0;i 评论0 1 2 加载更多
  • 写在MAIN中无错,但是写在类内就错了 类内的所有东西除了声明属性跟方法,其他东西都要放在大括号内——可以声明的同时赋值如:String[] name = {"human","tree"} 或者把赋值语句放到大括号里 String[] name=new String[2]; { name[0]="human"; name[1]="tree"; } 这样写就对了。。。。。。(但不建议这样)
  • 您可以使用Split方法: string s = "dog cat horse mouse"; string[] stringArray = s.Split(' '); Console.WriteLine(stringArray[1]); // cat You can use the Split method: string s = "dog cat horse mouse"; string[] stringArray = ...
  • String[] items = new String[numberList.size()]; numberList.toArray(items); String[] items = new String[numberList.size()]; numberList.toArray(items);
  • String temp[] = java.util.Arrays.copyOf(doc1,doc1.length); java.util.Arrays.sort(temp); String temp[] = java.util.Arrays.copyOf(doc1,doc1.length); java.util.Arrays.sort(temp);
  • String c[] = new String[Ques_low]; String cAns[] = new String[Ques_low]; for (int i = 0; i < Ques_low; i++) { c[i] = (String) request.getParameter("" + i); cAns[i] = (String) session.getAttribute("" + i); ...
  • 使用Arrays.asList(statname).indexOf(arg[1]); 找到项目的索引。 Use Arrays.asList(statname).indexOf(arg[1]); to find the index of an item.
  • 最简单的方法之一是: String[] array = coords.replaceAll("\\[\\[", "").replaceAll("\\]\\]", "").split("\\],\\["); 上面的代码将所有[[和]]替换为空字符,然后按],[分割。 One of the easiest ways to achieve that is: String[] array = coords.replaceAll("\\[\\[", "").replaceAll("\\]\\]", "").spli ...
  • 而不是迭代数组的每个成员,而是使用System.arraycopy() : System.arraycopy(arrChildElements, 0, arrChild, 0, arrChildElements.length); 此外,如果必须遍历每个值,则arrChildElements.length是您的外部循环值,而arrChildElements[i].length是您的内部循环值。 Instead of iterating over each member of an array, instea ...
  • 决定做最有效的方法测试。 MarcinJuraszek的方法,超过10,000,000次迭代,平均耗时约4000毫秒。 Fabian Bigler的方法平均花费了大约3200毫秒。 下面的方法平均需要大约1500毫秒。 Dim myStringArray(myString.Length - 1) As String For count As Integer = 0 To myString.Length - 1 myStringArray(count) = myString.Substring(cou ...