不多说,直接上代码。
package com.ckw.test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
import java.util.Map.Entry;
public class TestOfSubNetMask {
Map<String, String> map = new HashMap<String, String>();
String ipAddress;
String subNetMask;
boolean flag = false; //用来标记一对IP地址跟子网掩码 (位置相邻的即为一对)
//获取相对应IP地址的子网掩码
public void getIPAddressAndMask() {
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(), "gb2312"));
String line;
System.out.println("---------------------------------------------------------------");
while ((line = br.readLine()) != null) {
System.out.println(line); //这句可以省略,主要是为了把所有的信息打印出来方便对比
/*
* 获得机器IP地址
* 在以“IPv4”开头的那一行获取ip地址,英文版是以“IP Address”开头
* 格式为:
* IPv4 地址 . . . . . . . . . . . . : 10.10.116.132(首选) //见doc下的命令输出
*/
if (line.indexOf("IPv4 地址") > 0 || line.indexOf("IP Address") > 0) {
int index = line.ind