2015-11-04 95 views
0

我需要一些帮助,在我的项目中使用Java构建应用程序,从Linux系统读取配置文件。我想表明从这些文件中这样一些价值:使用java读取linux配置文件

//the code in config file 
subnet 192.168.1.0 netmask 255.255.255.0 { 
range 192.168.1.128 192.168.1.254; 
option subnet-mask    255.255.255.0; 
option broadcast-address  192.168.1.255;#comment here 
.... 
} 

在应用中,它应该是打印这样的:

network 1 : 192.168.1.0/24 
    range : from 192.168.1.128 to 192.168.1.254 
    mask : 255.255.255.0 
    broadcast : 192.168.1.255 

所以我需要从像指定ARGS读值“选项子网掩码“到行尾是”;“并返回值“255.255.255.0”。 ,如果有评论“#”,不要做任何事情只是去下一行。 每个配置从“{”开始并结束于“}”。所以当涉及到“}”时,它应该停下来,如果有下一个网络的话。

回答

0

首先,您需要使用Java打开文件。您可以使用InputStreamReader或其他输入读取器来完成此操作。阅读这些行并使用Java正则表达式包来匹配您正在查找的模式。这link将帮助模式匹配。

+0

我做那样的事 –

+0

你能否澄清到底是什么问题呢?或者你尝试过哪些方法无效?谢谢 – Avezou

+0

我做loob阅读留置权,并测试如果行判决类似子网字,但当我去下一个字 while(sc.hasNextLine()){String line = sc.nextLine(); if(line.contains(“subnet”)){String ss = sc.next(); System.out.println(ss);}}