日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 默认网关,java 获得默认网关 和 子网掩码 本机

發(fā)布時間:2024/9/27 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 默认网关,java 获得默认网关 和 子网掩码 本机 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Java codepublic static void main(String[] args) throws IOException {

String os = System.getProperties().getProperty("os.name"); //得到操作系統(tǒng) xp 為"Windows XP" 其他的的樓主自己去試試

Process pro = Runtime.getRuntime().exec("ipconfig");

BufferedReader br = new BufferedReader(new InputStreamReader(pro.getInputStream()));

List rowList = new ArrayList();

String temp;

while((temp = br.readLine()) != null){

rowList.add(temp );

}

for (String string : rowList) {

String sm= os.equals("Windows XP") ? "Subnet Mask" : "子網(wǎng)掩碼" ; //這里只判斷了win7個xp

if(string.indexOf("Subnet Mask") != -1){

Matcher mc = Pattern.compile("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}").matcher(string);

if(mc.find()){

System.out.println("子掩碼:" + mc.group());

}else{

System.out.println("子掩碼為空");

}

};

String dg = os.equals("Windows XP") ? "Default Gateway" : "默認(rèn)網(wǎng)關(guān)" ; //這里只判斷了win7個xp

if(string.indexOf("Default Gateway") != -1){

Matcher mc = Pattern.compile("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}").matcher(string);

if(mc.find()){

System.out.println("默認(rèn)網(wǎng)關(guān):" + mc.group());

}else{

System.out.println("默認(rèn)網(wǎng)關(guān)為空");

}

return;

};

}

}

------解決方案--------------------探討

用8樓的結(jié)果 我子網(wǎng)掩碼是 255.255.255.0 得到的卻是255.255.255.255

------解決方案--------------------

使用java.lang.Process類啊

將"ipconfig /all"傳進(jìn)去

Java code/**

* 獲取linuxShell命令結(jié)果.

* @param cmd 指令

* @return 指令結(jié)果

*/

public String getRuntimeExec(final String cmd) {

BufferedReader bufferedReader = null;

Process process = null;

StringBuffer sb = new StringBuffer();

try {

String buffer;

//System.out.println(cmd);

process = Runtime.getRuntime().exec(cmd);

// 得到結(jié)果

bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));

while ((buffer = bufferedReader.readLine()) != null) {

sb.append(buffer + "\n");

}

if (sb.length() > 0) {

sb.deleteCharAt(sb.length() - 1);

}

return sb.toString();

} catch (IOException e) {

// TODO Auto-generated catch block

System.out.println("execute failed.");

return null;

} finally {

// 清理

try {

if (bufferedReader != null) {

bufferedReader.close();

bufferedReader = null;

}

if (process != null) {

process.destroy();

process = null;

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

------解決方案--------------------

也來弄一段:,只能得到掩碼Java codepublic static void main(String args[]) {

try {

for (Enumeration nis = NetworkInterface.getNetworkInterfaces();

nis != null && nis.hasMoreElements();) {

NetworkInterface ni = nis.nextElement();

System.out.println("網(wǎng)絡(luò)適配器:" + ni.getDisplayName());

for (InterfaceAddress ifAddr : ni.getInterfaceAddresses()) {

System.out.println("IP:" + ifAddr.getAddress().getHostAddress());

System.out.println("Mask:" + getMask(ifAddr.getNetworkPrefixLength()) );

//System.out.println("Borad:"+ ifAddr.getBroadcast().getHostAddress());

}

}

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 返回指定長度的掩碼的字符串,如,長度為8的掩碼,返回255.0.0.0;長度為24的掩碼,返回255.255.255.0

* 注:只適用于IPV4

* @param maskLength 掩碼長度

* @return

*/

private static String getMask(int maskLength){

StringBuffer maskStr = new StringBuffer();

int mask = 0xFFFFFFFF << 32 - maskLength ;

for(int i = 3 ;i >= 0;i--){

maskStr.append( ( mask >> (8*i) ) & 0xFF);

if(i>0){

maskStr.append(".");

}

}

return maskStr.toString();

}

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的java 默认网关,java 获得默认网关 和 子网掩码 本机的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。