java获取本机ip,mac,

摘要:
=-1){46/**47*取出mac地址并删除两个空格48*/49mac=line.substring.trim();50break;51}52}53}catch{54e.printStackTrace());55}最后{56try{57if(bufferedReader!=null){58bufferedRead!=close();64process=空;65}6667返回mac;68}69707172/**73*获取Linux网卡的MAC地址74*@returnmac address 75*/76 publicstaticStringgetLinuxMACAddress(){77Stringmac=null;78BufferedReaderbufferedReader=null;79Processprocess=null;80try{81/**82*linux下的命令通常将eth0作为本地主网卡显示信息包括mac地址信息83*/84process=Runtime.getRuntime().exec;85bufferedReader=newBufferedReader;87String=null;88intindex=-1;89while((line=bufferedRReader.readLine()))!=null){107bufferedRreader.close();108}109}catch{110e1.printStackTrace();113process=空;114}115116返回mac;117}118119/**120*获取widnows网卡的mac地址121*@returnmac地址122*/123publicstaticStringgetWindowsMACAddress(){124Stringmac=null;125BufferedReader bufferedReader=null;126Processprocess=null;127try{128/**129*windows下的命令。显示的信息包括mac地址信息130*/131process=Runtime.getRuntime().exec;132bufferedReader=newBufferedReader;134Stringline=空;135指数=-1;136while((line=bufferedReader.read line()=null){137/**138*查找标识字符串[physicaladdress]139*/140index=line.toLowerCase().indexOf;141if(index!
  1 import java.io.BufferedReader;   
  2 import java.io.IOException;   
  3 import java.io.InputStreamReader;   
  4   
  5 /**  
  6  * 获取MAC地址  
  7  * @author sunlightcs  
  8  *  
  9  */  
 10 public class GetMacAddress {   
 11   
 12       /**   
 13        *  获取当前操作系统名称.   
 14        *  return 操作系统名称 例如:windows,Linux,Unix等.   
 15       */     
 16      public static String getOSName() {     
 17          return System.getProperty("os.name").toLowerCase();     
 18      }     
 19               
 20      /**   
 21        * 获取Unix网卡的mac地址.   
 22       * @return mac地址   
 23       */     
 24      public static String getUnixMACAddress() {     
 25          String mac = null;     
 26          BufferedReader bufferedReader = null;     
 27          Process process = null;     
 28          try {     
 29                /**  
 30                 *  Unix下的命令,一般取eth0作为本地主网卡 显示信息中包含有mac地址信息    
 31                 */  
 32              process = Runtime.getRuntime().exec("ifconfig eth0");   
 33              bufferedReader = new BufferedReader(new InputStreamReader(process     
 34                      .getInputStream()));     
 35              String line = null;     
 36              int index = -1;     
 37              while ((line = bufferedReader.readLine()) != null) {     
 38                     /**  
 39                      *  寻找标示字符串[hwaddr]   
 40                      */  
 41                  index = line.toLowerCase().indexOf("hwaddr");    
 42                     /**  
 43                      * 找到了  
 44                      */  
 45                  if (index != -1) {     
 46                         /**  
 47                          *   取出mac地址并去除2边空格    
 48                          */  
 49                      mac = line.substring(index +"hwaddr".length()+ 1).trim();   
 50                      break;     
 51                  }     
 52              }     
 53          } catch (IOException e) {     
 54              e.printStackTrace();     
 55          } finally {     
 56              try {     
 57                  if (bufferedReader != null) {     
 58                      bufferedReader.close();     
 59                  }     
 60              } catch (IOException e1) {     
 61                 e1.printStackTrace();     
 62             }     
 63              bufferedReader = null;     
 64              process = null;     
 65          }     
 66       
 67          return mac;     
 68      }     
 69           
 70             
 71             
 72          /**   
 73            * 获取Linux网卡的mac地址.   
 74           * @return mac地址   
 75           */     
 76          public static String getLinuxMACAddress() {     
 77              String mac = null;     
 78              BufferedReader bufferedReader = null;     
 79              Process process = null;     
 80              try {     
 81                    /**  
 82                     *  linux下的命令,一般取eth0作为本地主网卡 显示信息中包含有mac地址信息    
 83                     */  
 84                  process = Runtime.getRuntime().exec("ifconfig eth0");   
 85                  bufferedReader = new BufferedReader(new InputStreamReader(process     
 86                          .getInputStream()));     
 87                  String line = null;     
 88                  int index = -1;     
 89                  while ((line = bufferedReader.readLine()) != null) {     
 90                      index = line.toLowerCase().indexOf("硬件地址");    
 91                         /**  
 92                          * 找到了  
 93                          */  
 94                      if (index != -1) {     
 95                             /**  
 96                              *   取出mac地址并去除2边空格    
 97                              */  
 98                          mac = line.substring(index+4).trim();   
 99                          break;     
100                      }     
101                  }     
102              } catch (IOException e) {     
103                  e.printStackTrace();     
104              } finally {     
105                  try {     
106                      if (bufferedReader != null) {     
107                          bufferedReader.close();     
108                      }     
109                  } catch (IOException e1) {     
110                     e1.printStackTrace();     
111                 }     
112                  bufferedReader = null;     
113                  process = null;     
114              }   
115           
116              return mac;     
117          }   
118             
119          /**   
120           * 获取widnows网卡的mac地址.   
121           * @return mac地址   
122           */     
123          public static String getWindowsMACAddress() {     
124              String mac = null;     
125              BufferedReader bufferedReader = null;     
126              Process process = null;     
127              try {     
128                    /**  
129                     * windows下的命令,显示信息中包含有mac地址信息    
130                     */  
131                  process = Runtime.getRuntime().exec("ipconfig /all");   
132                  bufferedReader = new BufferedReader(new InputStreamReader(process     
133                          .getInputStream()));     
134                  String line = null;     
135                  int index = -1;     
136                  while ((line = bufferedReader.readLine()) != null) {     
137                         /**  
138                          *  寻找标示字符串[physical address]   
139                          */  
140                      index = line.toLowerCase().indexOf("physical address");    
141                      if (index != -1) {   
142                          index = line.indexOf(":");   
143                          if (index != -1) {   
144                                 /**  
145                                  *   取出mac地址并去除2边空格  
146                                  */  
147                             mac = line.substring(index + 1).trim();    
148                         }   
149                          break;     
150                      }   
151                  }   
152              } catch (IOException e) {     
153                  e.printStackTrace();     
154              }finally {     
155                  try {     
156                      if (bufferedReader != null) {     
157                          bufferedReader.close();     
158                        }     
159                  }catch (IOException e1) {     
160                      e1.printStackTrace();     
161                    }     
162                  bufferedReader = null;     
163                  process = null;     
164              }     
165           
166              return mac;     
167          }     
168           
169          /**   
170           * 测试用的main方法.   
171           *    
172           * @param argc   
173          *            运行参数.   
174           */     
175          public static void main(String[] argc) {     
176              String os = getOSName();     
177              System.out.println(os);     
178              if(os.startsWith("windows")){     
179                  String mac = getWindowsMACAddress();     
180                  System.out.println("本地是windows:"+mac);     
181              }else if(os.startsWith("linux")){     
182                    String mac = getLinuxMACAddress();     
183                  System.out.println("本地是Linux系统,MAC地址是:"+mac);   
184              }else{     
185                  String mac = getUnixMACAddress();                         
186                  System.out.println("本地是Unix系统 MAC地址是:"+mac);   
187              }     
188          }     
189 }

免责声明:文章转载自《java获取本机ip,mac,》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇NCBI SRA数据如何进行md5校验?003 数电 (3) : 门电路下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Fastjson介绍

简单介绍 Fastjson是一个Java语言编写的高性能功能完好的JSON库。 高性能 fastjson採用独创的算法,将parse的速度提升到极致,超过全部json库,包含以前号称最快的jackson。而且还超越了google的二进制协议protocol buf。 支持标准 Fastjson全然支持http://json.org的标准,也是官...

12月1号 MacOS系统命令行操作方式

一、 1.cd  进入目录 2.cd /  进入根目录 3.cd .. 上一层目录 4.cd ~ 用户的home目录 5.pwd  查看当前的操作目录 6.ls  查看当前文件夹下的文件或子目录 7.ls - la   查看当前文件夹下的隐藏文件或文件夹 8.clear  清屏指令 9.mkdir  创建一个文件夹 eg.  1.mkdir /Users/...

Java多线程2

线程的生命周期 与人有生老病死一样,线程也同样要经历开始(等待)、运行、挂起和停止四种不同的状态。这四种状态都可以通过Thread类中的方法进行控制。下面给出了Thread类中和这四种状态相关的方法。 1 // 开始线程 2 public void start( ); 3 public void run( ); 4 5 // 挂...

说说接口封装

今天给同事封装了一个接口,说起接口封装的事情,其实其实很有的聊。很多时候,说一个服务好,一个服务烂,实际上都是在吐槽服务队外暴露的接口好坏。不管什么语言,封装接口,抽象起来,就是由一个函数名,若干个参数,若干个返回值组成的。封装的好坏,就在这几个上面。 函数名 首先是函数名。函数名的好坏很明显,我的观点,是否简单,不重复。比如在一个User类中你封装一个...

单点登陆 ---密钥

一、需求描述 现在有A系统和B系统,需要在A系统进行单点登陆到B系统。 二、B系统要做事 1、提供一个可以让A系统登陆的网址 http://localhost:8083/Account/SingleSignOn/?u=xxx&token=FB92B341DBDB59D7 其中,u为加密后的用户名,token为B系统与A系统单点登录握手密钥 2、控制...

06_zookeeper原生Java API使用

【Zookeeper构造方法概述】 /** * 客户端和zk服务端的连接是一个异步的过程 * 当连接成功后,客户端会收到一个watch通知 * * ZooKeeper(String connectString, int sessionTimeout, Watcher watcher, *...