txt里的内容是:
111:02-98781999:Williams:Nick:T:35:Computer Officer:14-10-2000
131:02-95673456:Couch:David:A:26:Consultant:23-04-1994
553:03-99999999:Coles:David:M:12:Manager:12-12-1999
148:02-93272658:Smith:John:C:43:Technical Manager:21-10-1988
372:02-12345678:Miller:Sam:B:22:Engineer:12-03-1998
059:02-95673455:Chen:Xiao:Y:26:Consultant:01-05-2003
对他进行格式化,也就是按工号排序,输出的内容是这样:
059 02-.........
111 02-98781999 Williams .......
........
........

解决方案 »

  1.   

    如果所有呀拆分的都是这种以":"隔开的话,就比较简单,先将数据读取出来,使用String中的split(String regularExpression)方法就ok了
      

  2.   

    我想输出是这样的:
    059  02-95673455  Chen  Xiao  Y  26  Consultant  01-05-2003
    111  02-98781999  Williams  Nick  T  35  Computer Officer  14-10-2000
    131  02-95673456  Couch  David  A  26  Consultant  23-04-1994
    148  02-93272658  Smith  John  C  43  Technical Manager  21-10-1988
    372  02-12345678  Miller  Sam  B  22  Engineer  12-03-1998
    553  03-99999999  Coles  David  M  12  Manager  12-12-1999
    按工号排列的
      

  3.   


    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.InputStreamReader;
    import java.util.Map;
    import java.util.Set;
    import java.util.TreeMap;
    public class StringTest { public static void main(String[] args)throws Exception {
    BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("1.txt")));
    TreeMap<Integer,String> maps = new TreeMap<Integer,String>();
    String line = null;
    while((line=in.readLine())!=null){
    int i = line.indexOf(":");
    String str1 = line.substring(0,i);
    int key = Integer.parseInt(str1);
    String str2 = line.substring(i+1);
    maps.put(key, str2);
    }
    Set<Map.Entry<Integer, String>> set = maps.entrySet();
    for(Map.Entry<Integer, String> entry:set){
    String str = entry.getValue();
    String[]s = str.split(":");
    System.out.print(entry.getKey()+" ");
    for(String e:s){
    System.out.print(e+" ");
    }
    System.out.println("\n");
    }
    }}