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