分享

Java 如果获取本机信息 如本机操作系统 IP MAC... - Java / Java...

 闪宁斯达 2011-01-04
Map<String, String> map = System.getenv();
  String userName = map.get("USERNAME");// 获取用户名
  String computerName = map.get("COMPUTERNAME");// 获取计算机名
  String userDomain = map.get("USERDOMAIN");// 获取计算机域名
  System.out.println(userName);
  System.out.println(computerName);
  System.out.println(userDomain);
 
*/***************************************************************
 
import java.util.*;  
 
public class YourJavaProperties {  
   
public static void main(String args[]){  
        Properties props
=System.getProperties();   
          
        System.out.println(
"Java的运行环境版本:"+props.getProperty("java.version"));  
        System.out.println(
"Java的运行环境供应商:"+props.getProperty("java.vendor"));  
        System.out.println(
"Java供应商的URL:"+props.getProperty("java.vendor.url"));  
        System.out.println(
"Java的安装路径:"+props.getProperty("java.home"));  
        System.out.println(
"Java的虚拟机规范版本:"+props.getProperty("java.vm.specification.version"));  
        System.out.println(
"Java的虚拟机规范供应商:"+props.getProperty("java.vm.specification.vendor"));  
        System.out.println(
"Java的虚拟机规范名称:"+props.getProperty("java.vm.specification.name"));  
        System.out.println(
"Java的虚拟机实现版本:"+props.getProperty("java.vm.version"));  
        System.out.println(
"Java的虚拟机实现供应商:"+props.getProperty("java.vm.vendor"));  
        System.out.println(
"Java的虚拟机实现名称:"+props.getProperty("java.vm.name"));  
        System.out.println(
"Java运行时环境规范版本:"+props.getProperty("java.specification.version"));  
        System.out.println(
"Java运行时环境规范供应商:"+props.getProperty("java.specification.vender"));  
        System.out.println(
"Java运行时环境规范名称:"+props.getProperty("java.specification.name"));  
        System.out.println(
"Java的类格式版本号:"+props.getProperty("java.class.version"));  
        System.out.println(
"Java的类路径:"+props.getProperty("java.class.path"));  
        System.out.println(
"加载库时搜索的路径列表:"+props.getProperty("java.library.path"));  
        System.out.println(
"默认的临时文件路径:"+props.getProperty("java.io.tmpdir"));  
        System.out.println(
"一个或多个扩展目录的路径:"+props.getProperty("java.ext.dirs"));  
        System.out.println(
"操作系统的名称:"+props.getProperty("os.name"));  
        System.out.println(
"操作系统的构架:"+props.getProperty("os.arch"));  
        System.out.println(
"操作系统的版本:"+props.getProperty("os.version"));  
        System.out.println(
"文件分隔符:"+props.getProperty("file.separator"));   //在 unix 系统中是"/"  
        System.out.println("路径分隔符:"+props.getProperty("path.separator"));   //在 unix 系统中是":"  
        System.out.println("行分隔符:"+props.getProperty("line.separator"));   //在 unix 系统中是"/n"  
        System.out.println("用户的账户名称:"+props.getProperty("user.name"));  
        System.out.println(
"用户的主目录:"+props.getProperty("user.home"));  
        System.out.println(
"用户的当前工作目录:"+props.getProperty("user.dir"));  
    }  



********************************************************************************
IP地址可以取到,Mac不能直接取到,必须使用JNI或者调用外部命令

Java code
Enumeration en = NetworkInterface.getNetworkInterfaces();
Set ipList = new HashSet();
while (en.hasMoreElements()) {
NetworkInterface intf = (NetworkInterface)en.nextElement();
Enumeration enAddr = intf.getInetAddresses();
while (enAddr.hasMoreElements()) {
InetAddress addr = (InetAddress) enAddr.nextElement();
ipList.add(addr.getHostAddress());
}
}
 
**************************************************************************************
也可以通过cmd命令 然后io输出得到 如果是Vista系统 要把那个36改改 我记得好像是改成48还是多少  
Java code
import java.io.InputStreamReader; import java.io.BufferedReader; public class macaddress { public static void main(String[] args) { macaddress mdd = new macaddress(); String str=mdd.getMacOnWindow(); System.out.println(str); } private static String getMacOnWindow() { String s = ""; try { String s1 = "ipconfig /all"; Process process = Runtime.getRuntime().exec(s1); BufferedReader bufferedreader = new BufferedReader( new InputStreamReader(process.getInputStream())); String nextLine; for (String line = bufferedreader.readLine(); line != null; line = nextLine) { nextLine = bufferedreader.readLine(); if (line.indexOf("Physical Address") <= 0) { continue; } int i = line.indexOf("Physical Address") + 36; s = line.substring(i); break; } bufferedreader.close(); process.waitFor(); } catch (Exception exception) { s = ""; } return s.trim(); } }
 
*************************************************************************************
 
 
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.Formatter;
import java.util.Locale;
public class IPMACMain {
public static void main(String[] args) throws Exception {
InetAddress address = InetAddress.getLocalHost();
NetworkInterface ni = NetworkInterface.getByInetAddress(address);
ni.getInetAddresses().nextElement().getAddress();
byte[] mac = ni.getHardwareAddress();
String sIP = address.getHostAddress();
String sMAC = "";
Formatter formatter = new Formatter();
for (int i = 0; i < mac.length; i++) {
sMAC = formatter.format(Locale.getDefault(), "%02X%s", mac[i],
(i < mac.length - 1) ? "-" : "").toString();
}
System.out.println("IP:" + sIP);
System.out.println("MAC:" + sMAC);
}
}



*********************************************************************************************
来自  : http://topic.csdn.net/u/20090910/09/8c20f4d3-10c0-480d-8866-2b9c0d938902.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约