package test;
import java.util.*;
import java.io.*;
public class Properties_test
{
public static void main(String[] args)
{
try
{
Properties roles =new Properties();
roles.load(new FileInputStream("c:/hpj-users.properties"));
Enumeration emnu = roles.propertyNames();
while(emnu.hasMoreElements())
{
String key = emnu.nextElement().toString();
String value = roles.getProperty(key);
System.out.println(key+"_"+Token(value).size()+"_"+value);
}
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
public static List<String> Token(String s)
{
List<String> list = new ArrayList<String>();
try
{
String[] args = s.split(",");
for (String arg :args)
{
list.add(arg.trim());
}
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
return list;
}
}
问题补充:想具体了解下collection-based for 循环
就是:for (String arg :args)
不了解这个for循环的含义,中间的:是什么意思
这个循环是按什么规则循环的,一般的循环不是fro( ?;? ;? );
泛性(j2SE 5.0的新特性)
for (String arg :args)
{
list.add(arg.trim());
}
增强后的for循环(j2SE 5.0的新特性)
主要作用简化了之前的for循环:
相当与 (这个你看得懂吧)
for(int i=0;i<args.length;i++){
list.add(args[i]);
}
格式: for(类型 参数名 : 数组或集合类){ }
类型必需与数组或集合类的类型相同,
参数的值是动态的,所有数组或集合类的每一个值。
一。数组:
int[] num = {1,2,3,4,5};
for(int arg:num){
System.out.println(arg);
}
二。集合类:
ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
for(String arg: list){
System.out.println(arg);
}