class="java"> 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(); } } }
?