在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > JAVA得到網(wǎng)卡物理地址(Windows和Linux)

            JAVA得到網(wǎng)卡物理地址(Windows和Linux)

            作者: 時(shí)間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

            在我們?cè)趯懗绦虻倪^程中,有些時(shí)候需要知道一些電腦的硬件信息,比如我們寫一些需要注冊(cè)的程序的時(shí)候,就需要得到某個(gè)電腦特定的信息,一般來說,網(wǎng)卡的物理地址是不會(huì)重復(fù)的,我們正好可以用它來做為我們識(shí)別一臺(tái)電腦的標(biāo)志.那如何得到網(wǎng)卡的物理地址呢?我們可以借助于ProcessBuilder這個(gè)類,這個(gè)類是JDK1.5新加的,以前也可以用Runtime.exce這個(gè)類.在此我們將演示一下如何在Windows和Linux環(huán)境下得到網(wǎng)卡的物理地址.

            本文引用地址:http://www.biyoush.com/article/201609/305055.htm

            /*

            * Test.java

            *

            * Created on 2007-9-27, 9:11:15

            *

            * To change this template, choose Tools   Templates

            * and open the template in the editor.

            */

            package test2;

            import java.io.BufferedReader;

            import java.io.IOException;

            import java.io.InputStreamReader;

            import java.util.Properties;

            import java.util.logging.Level;

            import java.util.logging.Logger;

            /**

            *

            * @author hadeslee

            */

            public class Test {

            public static String getMACAddress() {

            String address = ;

            String os = System.getProperty(os.name);

            System.out.println(os);

            if (os != null) {

            if (os.startsWith(Windows)) {

            try {

            ProcessBuilder pb = new ProcessBuilder(ipconfig, /all);

            Process p = pb.start();

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

            String line;

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

            if (line.indexOf(Physical Address) != -1) {

            int index = line.indexOf(:);

            address = line.substring(index + 1);

            break;

            }

            }

            br.close();

            return address.trim();

            } catch (IOException e) {

            }

            }else if(os.startsWith(Linux)){

            try {

            ProcessBuilder pb = new ProcessBuilder(ifconfig);

            Process p = pb.start();

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

            String line;

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

            int index=line.indexOf(硬件地址);

            if(index!=-1){

            address=line.substring(index+4);

            break;

            }

            }

            br.close();

            return address.trim();

            } catch (IOException ex) {

            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);

            }

            }

            }

            return address;

            }

            public static void main(String[] args) {

            System.out.println( + Test.getMACAddress());

            }

            }

            我們可以看一下1.5新增的ProcessBuilder這個(gè)類,這個(gè)類比起以前用Runtime.exec來說,要強(qiáng)大一些,它可以指定一個(gè)環(huán)境 變量,并指定程序運(yùn)行時(shí)的目錄空間,并且也可以得到程序運(yùn)行時(shí)的環(huán)境變量.因?yàn)閕pconfig這個(gè)命令已經(jīng)是system32里面的,所以不需要我們另外再設(shè)環(huán)境變量或者指定程序的運(yùn)行時(shí)目錄空間.我們直接用就可以了,然后得到進(jìn)程的輸出流,就可以分析出我們所需要的東西了.是不是挺簡單的呢

            此程序可以得到windows下和Linux下的網(wǎng)卡地址,不過LINUX要是中文版的,英文版的也一樣,只不過把字替換一下就可以了。這樣我們的程序就有了兩個(gè)平臺(tái)的實(shí)現(xiàn)。



            關(guān)鍵詞:

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉