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

String os = System.getProperties().getProperty("os.name"); //得到操作系统 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" : "子网掩码" ; //这里只判断了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" : "默认网关" ; //这里只判断了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("默认网关:" + mc.group());

}else{

System.out.println("默认网关为空");

}

return;

};

}

}

------解决方案--------------------探讨

用8楼的结果 我子网掩码是 255.255.255.0 得到的却是255.255.255.255

------解决方案--------------------

使用java.lang.Process类啊

将"ipconfig /all"传进去

Java code/**

* 获取linuxShell命令结果.

* @param cmd 指令

* @return 指令结果

*/

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);

// 得到结果

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("网络适配器:" + 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();

}

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

  1. java snmp全面开发解决方案(web service snmp网关、代理snmp网关、网络拓扑发现、SNMP数据采集等)...

    ObjectSNMP是一个面向对象的SNMP开发组件,与关系数据库流行的O-R Mapping技术类似,实现了Object到SNMP MIB的操作映射(简称O-M Mapping),系统提供了Java ...

  2. linux 修改java版本_Linux 有问必答:如何在 Linux 中改变默认的 Java 版本

    提问:当我尝试在Linux中运行一个Java程序时,我遇到了一个错误.看上去像程序编译所使用的Java版本与我本地的不同.我该如何在Linux上切换默认的Java版本? 当Java程序编译时,编译环境 ...

  3. Java-CentoOS 7安装JDK8 (rpm格式 和 tar.gz格式) 多JDK设置默认的Java 版本

    文章目录 下载JDK 安装 rpm格式的 JDK Step1 rpm -ivh 安装 Step 2 配置 & 刷新 /etc/profile 安装 tar.gz格式的JDK 多个JDK共存时, ...

  4. JAVA之private修饰成员方法默认是final型的?

    Java之private修饰成员方法默认是final型的? private修饰的成员方法默认是final型的? 用fianl声明的成员方法是最终方法,最终方法不能被子类覆盖(重写) 从表面上看这个命题 ...

  5. Java 中 Boolean 和 boolean的默认值和修改默认值

    默认值 boolean 是 Java 的基本数据类型,默认值是false: Boolean 是 Java 的一个类,默认值是 null 使用推荐 根据阿里巴巴开发手册,在字段中推荐使用Boolean作 ...

  6. java二进制文件下载到浏览器默认路径

    java二进制文件下载到浏览器默认路径 java二进制文件下载到浏览器默认路径.当然可以下载到指定系统指定路径但是作用不大. 下面是通过调用的开放接口拿到的一个FileBinary二进制文件,输出流输 ...

  7. Eclipse 使用 Maven 构建动态 Web 工程,默认无 java 目录的解决方法

    Eclipse 使用 Maven 构建动态 Web 工程,默认无 java 目录的解决方法 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署 ...

  8. java string设置编码_详解Java中String类型与默认字符编码

    为什么写这个 至于为什么要写这个,主要是一句mmp一定要讲,绕了一上午,晕死 Java程序中的中文乱码问题一直是一个困扰程序员的难题,自己也不例外,早在做项目时就遇到过很多编码方式的坑,当时想填来着, ...

  9. 网关,默认网关,自动网关,路由,网关与路由器的关系

    本文内容整理自网络.包含的概念有:网关,默认网关,自动网关,路由,网关与路由器的关系. ------网关 网关实质上是一个网络通向其他网络的IP地址. 比如有网络A和网络B, 网络A的IP地址范围为& ...

  10. java 注解值_java 注解默认值操作

    我就废话不多说了,大家还是直接看代码吧~ package com.zejian.annotationdemo; import java.lang.annotation.ElementType; imp ...

最新文章

  1. TensorFlow官方入门实操课程-一个神经元的网络(线性曲线预测)
  2. 【转】一步一步教你远程调用EJB
  3. “差评”的学位论文都有哪些特点?
  4. 用计算机来猜密码,画圈圈也能解锁电脑?我猜你一定不知道!
  5. 主动模式下FTP的详细工作过程
  6. 在下层捕获上层抛出的异常
  7. 哈工大2020春计算方法实验报告
  8. 5W1H 和 鱼骨分析法
  9. 微信支付商户号和企业付款到零钱开通方法
  10. ubuntu20.04设置静态IP地址
  11. 向量积的坐标运算公式推导_向量外积的直接证明与直观解释,并以此证明正弦公式...
  12. C语言算法题:一只小蜜蜂...
  13. 简单介绍下linux下的中断(interrupt)
  14. Oracle----Orcacle简介
  15. 怎么在线对图片进行压缩不改变清晰度
  16. 联合国 ITU 立项成功,DevOps 标准开启国际化模式!
  17. uni-app返回上一层页面后数据刷新重置解决办法,uni-app页面不刷新,强制刷新页面方法!
  18. 精妙绝伦!阿里资深架构师撰写这份:并发编程,可谓“独具匠心”
  19. nginx iis 502 错误处理
  20. c生万物之初识c语言

热门文章

  1. wxWidgets:编写应用程序的快速指南
  2. boost::yap::value相关的测试程序
  3. Boost.MultiIndex 使用散列索引的示例
  4. boost::mpi模块指针序列化测试
  5. boost::mp11::mp_count_if相关用法的测试程序
  6. boost::intrusive::avl_set用法的测试程序
  7. boost::format模块异常处理的测试程序
  8. ITK:在图像区域上运行图像过滤器
  9. VTK:图片之RTAnalyticSource
  10. C语言侏儒排序Gnome sort 算法(附完整源码)