2015-11-04 130 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);}}