import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.ArrayList;
import java.util.Formatter;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Properties;
public class SystemUtil {
//通過截取cmd流方式得到計算機的配置信息(不好)
public static List<String> getIpAddress(){
Process p = null;
List<String> address = new ArrayList<String>();
try{
p = new ProcessBuilder("ipconfig","/all").start();
}catch(Exception e){
return address;
}
StringBuffer sb = new StringBuffer();
//讀取進程輸出值
InputStream inputStream = p.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
String s = "";
try{
while((s=br.readLine())!=null){
sb.append(s+"\n");
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
inputStream.close();
}catch(Exception e){
e.printStackTrace();
}
}
System.out.println(sb);
return address;
}
public static void getIpconfig(){
Map<String,String> map = System.getenv();
System.out.println(map.get("USERNAME"));//獲取用戶名
System.out.println(map.get("COMPUTERNAME"));//獲取計算機名
System.out.println(map.get("USERDOMAIN"));//獲取計算機域名
}
//得到計算機的ip地址和mac地址
public static void getConfig(){
try{
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);
}catch(Exception e){
e.printStackTrace();
}
}
//得到計算機的ip,名稱,操作系統名稱,操作系統版本
public static void Config(){
try{
InetAddress addr = InetAddress.getLocalHost();
String ip=addr.getHostAddress().toString(); //獲取本機ip
String hostName=addr.getHostName().toString(); //獲取本機計算機名稱
System.out.println("本機IP:"+ip+"\n本機名稱:"+hostName);
Properties props=System.getProperties();
System.out.println("操作系統的名稱:"+props.getProperty("os.name"));
System.out.println("操作系統的版本:"+props.getProperty("os.version"));
}catch(Exception e){
e.printStackTrace();
}
}
//java環境
public static void all(){
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"));
}
public static void main(String[] args) {
Config();
getConfig();
// all();
}
}
java得到當前系統的概況
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.