import java.io.*; import java.net.*; import java.util.*; public class get { public static void main(String[] args) throws IOException { ArrayList<String> arrayList = new ArrayList<String>(); /* 創立一個字串清單 */ try { Enumeration<NetworkInterface> nets = NetworkInterface .getNetworkInterfaces(); /* 創建一個網路介面的列舉並取得所有介面 */ for (NetworkInterface n : Collections.list(nets)) { Enumeration<InetAddress> ip = n.getInetAddresses(); /* 創立一個列舉並將取得的IP放進來 */ for (InetAddress i : Collections.list(ip)) { if (i instanceof Inet4Address && NetworkInterface.getByInetAddress(i).isUp() && !(i.getHostAddress().equals("127.0.0.1"))) { arrayList.add(n.getName().toString()); arrayList.add(i.getHostAddress().toString()); /* * 清單裡為IPV4的型態,且是網路介面的配置,以及不為127.0.0.1的話加入清單 */ } } } } catch (SocketException e) { e.printStackTrace(); } // 將檔案指向MyIP.txt BufferedWriter fw = new BufferedWriter(new FileWriter("MyIP.txt")); for (int i = 0; i < arrayList.size(); i += 2) { fw.write("Dev name:" + arrayList.get(i) + "\tIP:" + arrayList.get(i + 1)); fw.newLine(); } fw.flush(); fw.close(); } }
2012/02/15
Java 取得IPv4位址
筆記筆記