中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

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

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

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

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

        本文引用地址:http://www.antipu.com.cn/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這個類,這個類比起以前用Runtime.exec來說,要強大一些,它可以指定一個環(huán)境 變量,并指定程序運行時的目錄空間,并且也可以得到程序運行時的環(huán)境變量.因為ipconfig這個命令已經(jīng)是system32里面的,所以不需要我們另外再設(shè)環(huán)境變量或者指定程序的運行時目錄空間.我們直接用就可以了,然后得到進程的輸出流,就可以分析出我們所需要的東西了.是不是挺簡單的呢

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



        關(guān)鍵詞:

        評論


        相關(guān)推薦

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

        關(guān)閉