java 获得计算机的硬件信息
(2011-09-20 21:27:51)
标签:
java获得计算机硬件信息it |
分类: 编程语言 |
windows下获取系统硬件信息,代码已测试===================================
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static String[] getInfor() {
String address = "";
String ip = "";
String sysname = "";
String name = "";
String username = "";
String []all = new String[5];
String os = System.getProperty("os.name");
if (os != null &&
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);
}
if (line.indexOf("IP Address") != -1) {
int index = line.indexOf(":");
ip = line.substring(index + 1);
}
}
br.close();
List <String> command = new
ArrayList<String>();
command.add("net");
command.add("config");
command.add("workstation");
pb.command(command);
p = pb.start();
br = new BufferedReader(new InputStreamReader(p
.getInputStream()));
int index;
while ((line = br.readLine()) != null) {
if ((index = line.indexOf("计算机全名")) != -1) {
name = line.substring(index + 5);
}
if ((index = line.indexOf("用户名")) != -1) {
username = line.substring(index + 4);
}
if ((index = line.indexOf("计算机名")) != -1) {
sysname = line.substring(index + 4);
}
}
all[0] = address.trim();
all[1] = ip.trim();
all[2] = sysname.trim();
all[3] = name.trim();
all[4] = username.trim();
} catch (IOException e) {
}
}
return all;
}
public static void main(String[] args) throws
UnknownHostException {
String []result = Test.getInfor();
for(String s : result)
System.out.println(s);
}
}
linux下获取系统硬件信息,代码未测试===================================
IMonitorService接口:
public interface IMonitorService {
public MonitorInfoBean getMonitorInfoBean() throws Exception;
}
MonitorInfoBean类:
public class MonitorInfoBean implements
Comparable<MonitorInfoBean> {
private String osName;
private float totalMemorySize;
private float usedMemory;
private double cpuRatio;
private String mIpAddress;
private String dDateTime;
private float memoryRatio;
private float buffersMemory;
private float cachedMemory;
public float getBuffersMemory() {
}
public float getCachedMemory() {
}
public String getDDateTime() {
}
public void setDDateTime(String dateTime) {
}
public String getMIpAddress() {
}
public void setMIpAddress(String ipAddress) {
}
public String getOsName() {
}
public void setOsName(String osName) {
}
public float getTotalMemorySize() {
}
public void setTotalMemorySize(float totalMemorySize) {
}
public float getUsedMemory() {
}
public void setUsedMemory(long usedMemory) {
}
public double getCpuRatio() {
}
public void setCpuRatio(double cpuRatio) {
}
public int compareTo(MonitorInfoBean m) {
}
public float getMemoryRatio() {
}
public void setMemoryRatio(float memoryRatio) {
}
public void setUsedMemory(float usedMemory) {
}
public void setBuffersMemory(float buffersMemory) {
}
public void setCachedMemory(float cachedMemory) {
}
}
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Enumeration;
import java.util.StringTokenizer;
import sun.management.ManagementFactory;
import com.sun.management.OperatingSystemMXBean;
public class MonitorServiceImpll implements IMonitorService {