import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.HashSet;
public class ProcessBuilderShow {
public static HashSet<String> getPhysicalAddress(String text) throws IOException {
Process p = null;
// 物理网卡列表
HashSet<String> address = new HashSet<String>();
// 执行ipconfig /all命令
p = new ProcessBuilder("ipconfig", "/all").start();
// 读取进程输出值
InputStream in = p.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String temp = null;
while ((temp = br.readLine()) != null) {
System.out.println(temp);
int idx = temp.indexOf(text);
if (idx > 0) {
address.add(temp.substring(text.length()+4,temp.length()));
}
}
return address;
}
public static void main(String[] args) {
String[] texts = new String[]{"Physical Address. . . . . . . . . :","物理地址. . . . . . . . . . . . . :"};
HashSet<String> address;
try {
address = ProcessBuilderShow.getPhysicalAddress(texts[0]);
if (address == null || address.size() == 0) {
address = ProcessBuilderShow.getPhysicalAddress(texts[1]);
}
System.out.println("物理地址列表:");
for (String add : address) {
System.out.println(add);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Java获取物理网卡
最新推荐文章于 2025-05-26 14:46:35 发布