我需要的應用程序中的網絡配置信息多於java.net.NetworkInterface
和java.net.InetAddress
提供的信息。我希望包含子網,網關和DNS服務器等信息,但代碼需要可移植到Windows和Linux平臺。在Windows和Linux平臺上使用Java獲取網絡信息
我已經通過爲Windows執行Runtime.getRuntime().exec("ipconfig")
和針對Linux執行Runtime.getRuntime().exec("ifconfig")
來分析結果。也許有更好的方法來做到這一點或我可以使用的開源項目。
預先感謝能引導我朝着正確的方向
調用ifconfig和ipconfig中斷使用的可移植性。你可以發佈你現有的代碼嗎? – Woot4Moo
我做了一個工廠方法來調用每個操作系統的獨立實現。對於Windows,我打電話'ipconfig/all'並解析結果。對於Linux,我打電話'ifconfig','route -n'和'cat /etc/resolv.conf'。 –
此外,某些linux發行版的默認安裝不在路徑中包含/ sbin,因此調用可能會失敗,具體取決於用戶 –