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); 
}