ºìÁªLinuxÃÅ»§
Linux°ïÖú

JAVAµÃµ½Íø¿¨ÎïÀíµØÖ·(windowsºÍLinux)

·¢²¼Ê±¼ä:2008-02-13 00:48:29À´Ô´:ºìÁª×÷Õß:turning
ÔÚÎÒÃÇÔÚд³ÌÐòµÄ¹ý³ÌÖÐ,ÓÐЩʱºòÐèÒªÖªµÀһЩµçÄÔµÄÓ²¼þÐÅÏ¢,±ÈÈçÎÒÃÇдһЩÐèҪע²áµÄ³ÌÐòµÄʱºò,¾ÍÐèÒªµÃµ½Ä³¸öµçÄÔÌØ¶¨µÄÐÅÏ¢,Ò»°ãÀ´Ëµ,Íø¿¨µÄÎïÀíµØÖ·ÊDz»»áÖØ¸´µÄ,ÎÒÃÇÕýºÃ¿ÉÒÔÓÃËüÀ´×öΪÎÒÃÇʶ±ðһ̨µçÄԵıêÖ¾.ÄÇÈçºÎµÃµ½Íø¿¨µÄÎïÀíµØÖ·ÄØ?ÎÒÃÇ¿ÉÒÔ½èÖúÓÚProcessBuilderÕâ¸öÀà,Õâ¸öÀàÊÇJDK1.5мӵÄ,ÒÔǰҲ¿ÉÒÔÓÃRuntime.exceÕâ¸öÀà.ÔÚ´ËÎÒÃǽ«ÑÝʾһÏÂÈçºÎÔÚWindowsºÍLinux»·¾³Ïµõ½Íø¿¨µÄÎïÀíµØÖ·.[code]/*
* 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());
}
}[/code]ÎÒÃÇ¿ÉÒÔ¿´Ò»ÏÂ1.5ÐÂÔöµÄProcessBuilderÕâ¸öÀà,Õâ¸öÀà±ÈÆðÒÔǰÓÃRuntime.execÀ´Ëµ,Ҫǿ´óһЩ,Ëü¿ÉÒÔÖ¸¶¨Ò»¸ö»·¾³ ±äÁ¿,²¢Ö¸¶¨³ÌÐòÔËÐÐʱµÄĿ¼¿Õ¼ä,²¢ÇÒÒ²¿ÉÒԵõ½³ÌÐòÔËÐÐʱµÄ»·¾³±äÁ¿.ÒòΪipconfigÕâ¸öÃüÁîÒѾ­ÊÇsystem32ÀïÃæµÄ,ËùÒÔ²»ÐèÒªÎÒÃÇÁíÍâÔÙÉè»·¾³±äÁ¿»òÕßÖ¸¶¨³ÌÐòµÄÔËÐÐʱĿ¼¿Õ¼ä.ÎÒÃÇÖ±½ÓÓþͿÉÒÔÁË,È»ºóµÃµ½½ø³ÌµÄÊä³öÁ÷,¾Í¿ÉÒÔ·ÖÎö³öÎÒÃÇËùÐèÒªµÄ¶«Î÷ÁË.ÊDz»ÊÇͦ¼òµ¥µÄÄØ

´Ë³ÌÐò¿ÉÒԵõ½windowsϺÍLinuxϵÄÍø¿¨µØÖ·£¬²»¹ýLINUXÒªÊÇÖÐÎİæµÄ£¬Ó¢ÎİæµÄÒ²Ò»Ñù£¬Ö»²»¹ý°Ñ×ÖÌæ»»Ò»Ï¾ͿÉÒÔÁË¡£ÕâÑùÎÒÃǵijÌÐò¾ÍÓÐÁËÁ½¸öƽ̨µÄʵÏÖ¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ