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