现在又这么一个文本文件,文本的格式如下
<Record 1>
姓名:张三
性别:男<Record 2>
姓名:王五
职业:程序员-----------
注,每一个记录的函数未定,可以为1 ,也可以为2,3。。
怎么将它处理成为  
张三  男   null
王五 null  程序员的格式

解决方案 »

  1.   

    应该是这样吧?import java.io.*;
    import java.util.HashMap;public class test {
        public static void main(String[] args) {
            try {
                FileReader reader = new FileReader("d:\\test.txt");
                BufferedReader bf = new BufferedReader(reader);            StringBuffer sb = new StringBuffer();            String str = bf.readLine();            while (str != null) {
                    sb.append(str + "\n");
                    str = bf.readLine();
                }            bf.close();
                reader.close();            String string = sb.toString();            String[] array = string.split("<Record \\d>");
                String[] cols = {"姓名", "性别", "职业"};            for (int i = 1; i < array.length; i++) {
                    String[] arr = array[i].split("\n");
                    HashMap map = new HashMap();                for (int a = 1; a < arr.length; a++) {
                        map.put(arr[a].substring(0, 2), arr[a].substring(3));
                    }                for (int c = 0; c < cols.length; c++) {
                        if (map.containsKey(cols[c]) == false) {
                            map.put(cols[c], "null");
                            break;
                        }
                    }                for (int b = 0; b < cols.length; b++) {
                        System.out.print(map.get(cols[b]) + "\t");                }                System.out.println("\n\n");
                }        } catch (Exception ex) {
                ex.printStackTrace();
            }    }
    }