请问怎么获取本局域网的子网掩码呀?

MacroWH 2007-12-08 01:21:17
请问怎么获取本局域网的子网掩码呀?谢谢
...全文
97 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
MacroWH 2007-12-14
  • 打赏
  • 举报
回复
谢谢runshine的解答,3Q
zhuyihui01 2007-12-12
  • 打赏
  • 举报
回复
代码在我机器上可以执行,高手啊!!!
我是个新手
xql80329 2007-12-12
  • 打赏
  • 举报
回复
4楼的有问题吧 代码你那能执行了?
runshine 2007-12-10
  • 打赏
  • 举报
回复
不啊,没捆绑呀?
我开始不就说了么,如果是linux就调用另外的命令。
由if (os != null && os.startsWith("Windows")) 来判断你使用的操作系统,因为我估计LZ要的是WINDOWS下的,所以就只写了Windows部分。
把其余操作系统的实现部分给添加上不就不限于特定系统了,何来捆绑

不过还是希望能有更简单的操作就能得到这些信息就好了
yuanyemars 2007-12-10
  • 打赏
  • 举报
回复
肯定有,调用cmd的话,java的优势何在啊?都和操作系统捆绑了
runshine 2007-12-09
  • 打赏
  • 举报
回复

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;


public class MaskAddress {
public MaskAddress() {
}

public static String getMaskAddress() {

String address = null;
String os = System.getProperty("os.name");
if (os != null && os.startsWith("Windows")) {
try {
String command = "cmd.exe /c ipconfig /all";
Process p = Runtime.getRuntime().exec(command);
BufferedReader br =
new BufferedReader(
new InputStreamReader(p.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
if (line.indexOf("Subnet Mask") > 0) {
int index = line.indexOf(":");
index += 2;
address = line.substring(index);
break;
}
}
br.close();
return address.trim();
} catch (IOException e) {}
}
return address;
}



public static void main(String[] args) {
System.out.println("子网掩码:"+MaskAddress.getMaskAddress());
}
}


利用ipconfig命令得到的,应该还有其它更好的办法我想。
MacroWH 2007-12-09
  • 打赏
  • 举报
回复
谢谢,但是可不可以具体些
runshine 2007-12-08
  • 打赏
  • 举报
回复
....打错了...是ipconfig
RI,真失败- -!
runshine 2007-12-08
  • 打赏
  • 举报
回复
用JAVA调用系统的PING命令(windows,linux则是调用另一个相应命令),然后读取相应字符串。


曾经有次网络的小实验就是任选门语言获取本机的MAC地址,最后我是通过这种方式实现的,不过很麻烦...

看别人还有更好的办法没

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧