<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 0, comments - 77, trackbacks - 0, articles - 356
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    JAVA得到網卡物理地址(windows和Linux)

    Posted on 2007-09-27 14:34 semovy 閱讀(308) 評論(0)  編輯  收藏 所屬分類: JAVA應用
    在我們在寫程序的過程中,有些時候需要知道一些電腦的硬件信息,比如我們寫一些需要注冊的程序的時候,就需要得到某個電腦特定的信息,一般來說,網卡的物理地址是不會重復的,我們正好可以用它來做為我們識別一臺電腦的標志.那如何得到網卡的物理地址呢?我們可以借助于ProcessBuilder這個類,這個類是JDK1.5新加的,以前也可以用Runtime.exce這個類.在此我們將演示一下如何在Windows和Linux環境下得到網卡的物理地址.

    代碼如下:
    /*
     * 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來說,要強大一些,它可以指定一個環境 變量,并指定程序運行時的目錄空間,并且也可以得到程序運行時的環境變量.因為ipconfig這個命令已經是system32里面的,所以不需要我們另外再設環境變量或者指定程序的運行時目錄空間.我們直接用就可以了,然后得到進程的輸出流,就可以分析出我們所需要的東西了.是不是挺簡單的呢:)

    此程序可以得到windows下和Linux下的網卡地址,不過LINUX要是中文版的,英文版的也一樣,只不過把字替換一下就可以了。這樣我們的程序就有了兩個平臺的實現。
    主站蜘蛛池模板: 亚洲中文字幕在线第六区| 亚洲电影日韩精品| 91亚洲精品第一综合不卡播放| 免费无遮挡无遮羞在线看| 日韩午夜免费视频| 国产一区二区三区亚洲综合| 四虎影视在线永久免费看黄| 亚洲av无码专区在线电影天堂 | 亚洲AV日韩AV无码污污网站 | 免费看搞黄视频网站| 国产亚洲美女精品久久久久狼| a级毛片毛片免费观看久潮| 国产精品亚洲片在线观看不卡| 免费无码又爽又刺激高潮软件| 久久久久久久尹人综合网亚洲| 日韩电影免费在线观看| 久久狠狠高潮亚洲精品| 99无码人妻一区二区三区免费| 亚洲伊人久久大香线蕉AV| 国产无遮挡又黄又爽免费视频| 免费精品国自产拍在线播放| 亚洲熟女少妇一区二区| 久久精品免费观看| 亚洲国产精品久久丫| 免费看大美女大黄大色| 一级黄色免费大片| 激情内射亚洲一区二区三区| 成人性生交大片免费看无遮挡| 亚洲gay片在线gv网站| 狠狠亚洲婷婷综合色香五月排名| 99re在线这里只有精品免费| 亚洲日本国产综合高清| 亚洲精品456播放| 亚洲一区二区三区免费在线观看| 亚洲av中文无码乱人伦在线观看| 亚洲最大AV网站在线观看| 97公开免费视频| 爱情岛论坛免费视频| 久久亚洲AV成人无码电影| 免费看www视频| 污视频在线观看免费|