首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

跪求大神指点迷津,该怎么解决

2012-04-21 
跪求大神指点迷津这是一个文件中的内容,我需要取到文件中,ip的值,linetype的值,以及nodename的值,该怎么解

跪求大神指点迷津
这是一个文件中的内容,我需要取到文件中,ip的值,linetype的值,以及nodename的值,该怎么解析呢,如果是正则表达式,请帮小弟写几个正则表达式的
[node1]
ip=6E67309A952D99EE4DC5F732C7D1A63A
port=80
linetype=2
nodecode=2
right=1
nodename=河南网通1(正常)

[node2]
ip=6E67309A952D99EE818CABC663E14156
port=80
linetype=2
nodecode=2
right=1
nodename=河南网通2(正常)
...


我能不能用分割的方法封装成对象呢?

如果用分割的方法,遇到[node2]这一类的字符肯定要报错的


求指导,在线等的。。。

[解决办法]
代码帮你写了一段,可以取出来,但是需要你自己处理null的,因为split后第一个是空的

Java code
public static void main(String[] args) throws Exception{        Reader reader = new FileReader("D:\\workspace\\test\\src\\test.txt");        StringBuffer sb = new StringBuffer();        char[] buf = new char[1024];        int i = 0;        while((i = reader.read(buf)) != -1){            sb.append(new String(buf, 0, i));        }        reader.close();                String str = sb.toString();        str.replace(" ", "");        String[] ss = str.split("\\[node\\d\\]");        Properties p = new Properties();        for(String s : ss){            StringReader sr = new StringReader(s);            p.load(sr);            System.out.println(p.get("ip"));            System.out.println(p.get("port"));            System.out.println(p.get("linetype"));            System.out.println(p.get("nodecode"));            System.out.println(p.get("right"));            System.out.println(p.get("nodename"));        }    } 

热点排行