<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要是中文版的,英文版的也一樣,只不過把字替換一下就可以了。這樣我們的程序就有了兩個平臺的實現。
    主站蜘蛛池模板: a级毛片视频免费观看| 四虎影视永久在线精品免费| 最新亚洲成av人免费看| 免费女人18毛片a级毛片视频| 77777亚洲午夜久久多喷| 毛片a级毛片免费播放下载| 亚洲三级在线视频| 成人性生交大片免费看无遮挡| 亚洲中文字幕无码av在线| 91成年人免费视频| 国产亚洲精品VA片在线播放| 免费福利网站在线观看| 国产午夜亚洲精品| 日韩在线免费看网站| 免费精品视频在线| 亚洲精品夜夜夜妓女网| 99久久精品免费精品国产| 亚洲色偷偷偷网站色偷一区| 无码人妻一区二区三区免费手机| 亚洲啪AV永久无码精品放毛片| 国产免费av片在线播放| 国产精品1024在线永久免费| 亚洲人成电影在线天堂| 成人免费福利电影| jizz免费一区二区三区| 久久综合亚洲色HEZYO社区| 最近的中文字幕大全免费版| 日韩插啊免费视频在线观看| 美女视频黄的全免费视频| 91久久精品国产免费直播| 亚洲一区二区三区成人网站| 亚洲XX00视频| 67194国产精品免费观看| 亚洲欧美在线x视频| 久久亚洲国产视频| 在线看片无码永久免费aⅴ | gogo免费在线观看| 亚洲黄色在线观看视频| 国产在线19禁免费观看国产 | 亚洲av日韩av无码| 永久免费无码网站在线观看|