久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  千鋒問問  > java獲取本機(jī)ip地址的方法怎么操作

java獲取本機(jī)ip地址的方法怎么操作

java獲取本機(jī)ip地址 匿名提問者 2023-09-12 15:10:34

java獲取本機(jī)ip地址的方法怎么操作

我要提問

推薦答案

  在Java中,你可以使用多種方法來獲取本機(jī)的IP地址。下面將介紹三種常用的方法。

千鋒教育

  方法一:使用InetAddress類

  InetAddress類提供了獲取本機(jī)IP地址的簡單方式。你可以通過調(diào)用其中的靜態(tài)方法getLocalHost()來獲取本機(jī)的InetAddress對象,然后再調(diào)用getHostAddress()方法獲取本機(jī)的IP地址。

  import java.net.InetAddress;

  import java.net.UnknownHostException;

  public class GetIPAddress {

  public static void main(String[] args) {

  try {

  InetAddress localHost = InetAddress.getLocalHost();

  String ipAddress = localHost.getHostAddress();

  System.out.println("本機(jī)IP地址是:" + ipAddress);

  } catch (UnknownHostException e) {

  e.printStackTrace();

  }

  }

  }

 

  上述代碼將輸出本機(jī)的IP地址。

  方法二:使用NetworkInterface類

  另一種獲取本機(jī)IP地址的方法是使用NetworkInterface類。通過遍歷所有的網(wǎng)絡(luò)接口,我們可以獲取每個網(wǎng)絡(luò)接口對應(yīng)的IP地址。

  import java.net.InetAddress;

  import java.net.NetworkInterface;

  import java.net.SocketException;

  import java.util.Enumeration;

  public class GetIPAddress {

  public static void main(String[] args) {

  try {

  Enumeration networkInterfaces = NetworkInterface.getNetworkInterfaces();

  while (networkInterfaces.hasMoreElements()) {

  NetworkInterface networkInterface = networkInterfaces.nextElement();

  Enumeration addresses = networkInterface.getInetAddresses();

  while (addresses.hasMoreElements()) {

  InetAddress address = addresses.nextElement();

  if (!address.isLoopbackAddress() && !address.isLinkLocalAddress() && address.isSiteLocalAddress()) {

  System.out.println("本機(jī)IP地址是:" + address.getHostAddress());

  }

  }

  }

  } catch (SocketException e) {

  e.printStackTrace();

  }

  }

  }

 

  上述代碼將輸出本機(jī)的所有IP地址,同時(shí)過濾掉了回環(huán)地址(loopback address)和本地鏈路地址(link-local address)。

  方法三:使用System類和網(wǎng)絡(luò)接口

  還有一種獲取本機(jī)IP地址的方法是使用System類和網(wǎng)絡(luò)接口。通過調(diào)用System.getenv()方法獲取操作系統(tǒng)的環(huán)境變量,然后根據(jù)操作系統(tǒng)的不同,找到對應(yīng)的網(wǎng)絡(luò)接口名稱,并進(jìn)一步獲取IP地址。

  import java.net.InetAddress;

  import java.net.NetworkInterface;

  import java.net.SocketException;

  import java.util.Enumeration;

  import java.util.Map;

  public class GetIPAddress {

  public static void main(String[] args) {

  try {

  Map env = System.getenv();

  String os = System.getProperty("os.name").toLowerCase();

  String networkInterfaceName = null;

  if (os.contains("win")) {

  networkInterfaceName = env.get("COMPUTERNAME");

  } else if (os.contains("nix") || os.contains("nux") || os.contains("mac")) {

  networkInterfaceName = env.get("USER");

  }

  NetworkInterface networkInterface = NetworkInterface.getByName(networkInterfaceName);

  Enumeration addresses = networkInterface.getInetAddresses();

  while (addresses.hasMoreElements()) {

  InetAddress address = addresses.nextElement();

  if (!address.isLoopbackAddress() && !address.isLinkLocalAddress() && address.isSiteLocalAddress()) {

  System.out.println("本機(jī)IP地址是:" + address.getHostAddress());

  }

  }

  } catch (SocketException e) {

  e.printStackTrace();

  }

  }

  }

 

  上述代碼根據(jù)操作系統(tǒng)類型獲取對應(yīng)的網(wǎng)絡(luò)接口名稱,并獲取該網(wǎng)絡(luò)接口的IPv4地址。

  這些就是在Java中獲取本機(jī)IP地址的三種常用方法。你可以根據(jù)自己的需求選擇合適的方法來獲取本機(jī)的IP地址。

其他答案

  •   在Java中,獲取本機(jī)的IP地址有多種方法。下面將介紹三種常用的方法。

      方法一:使用InetAddress類

      InetAddress類是Java提供的用于表示IP地址的類,通過其方法getLocalHost()可以獲取本機(jī)的InetAddress對象,然后再使用getHostAddress()方法獲取本機(jī)IP地址。

      import java.net.InetAddress;

      import java.net.UnknownHostException;

      public class GetIPAddress {

      public static void main(String[] args) {

      try {

      InetAddress localHost = InetAddress.getLocalHost();

      String ipAddress = localHost.getHostAddress();

      System.out.println("本機(jī)IP地址是:" + ipAddress);

      } catch (UnknownHostException e) {

      e.printStackTrace();

      }

      }

      }

      上述代碼將輸出本機(jī)的IP地址。

      方法二:使用NetworkInterface類

      NetworkInterface類提供了更靈活的方式來獲取本機(jī)的IP地址。通過遍歷所有的網(wǎng)絡(luò)接口,可以獲取每個網(wǎng)絡(luò)接口對應(yīng)的IP地址。

      import java.net.InetAddress;

      import java.net.NetworkInterface;

      import java.net.SocketException;

      import java.util.Enumeration;

      public class GetIPAddress {

      public static void main(String[] args) {

      try {

      Enumeration networkInterfaces = NetworkInterface.getNetworkInterfaces();

      while (networkInterfaces.hasMoreElements()) {

      NetworkInterface networkInterface = networkInterfaces.nextElement();

      Enumeration addresses = networkInterface.getInetAddresses();

      while (addresses.hasMoreElements()) {

      InetAddress address = addresses.nextElement();

      if (!address.isLoopbackAddress() && !address.isLinkLocalAddress() && address.isSiteLocalAddress()) {

      System.out.println("本機(jī)IP地址是:" + address.getHostAddress());

      }

      }

      }

      } catch (SocketException e) {

      e.printStackTrace();

      }

      }

      }

      上述代碼將輸出本機(jī)的所有IP地址,并過濾掉了回環(huán)地址(loopback address)和本地鏈路地址(link-local address)。

      方法三:使用System類和網(wǎng)絡(luò)接口

      也可以使用System類和網(wǎng)絡(luò)接口來獲取本機(jī)IP地址。通過調(diào)用System.getenv()方法獲取操作系統(tǒng)的環(huán)境變量,然后根據(jù)操作系統(tǒng)的不同,找到對應(yīng)的網(wǎng)絡(luò)接口名稱,并進(jìn)一步獲取IP地址。

      import java.net.InetAddress;

      import java.net.NetworkInterface;

      import java.net.SocketException;

      import java.util.Enumeration;

      import java.util.Map;

      public class GetIPAddress {

      public static void main(String[] args) {

      try {

      Map env = System.getenv();

      String os = System.getProperty("os.name").toLowerCase();

      String networkInterfaceName = null;

      if (os.contains("win")) {

      networkInterfaceName = env.get("COMPUTERNAME");

      } else if (os.contains("nix") || os.contains("nux") || os.contains("mac")) {

      networkInterfaceName = env.get("USER");

      }

      NetworkInterface networkInterface = NetworkInterface.getByName(networkInterfaceName);

      Enumeration addresses = networkInterface.getInetAddresses();

      while (addresses.hasMoreElements()) {

      InetAddress address = addresses.nextElement();

      if (!address.isLoopbackAddress() && !address.isLinkLocalAddress() && address.isSiteLocalAddress()) {

      System.out.println("本機(jī)IP地址是:" + address.getHostAddress());

      }

      }

      } catch (SocketException e) {

      e.printStackTrace();

      }

      }

      }

      上述代碼根據(jù)操作系統(tǒng)類型獲取對應(yīng)的網(wǎng)絡(luò)接口名稱,并獲取該網(wǎng)絡(luò)接口的IPv4地址。

      這些就是在Java中獲取本機(jī)IP地址的三種常用方法。根據(jù)實(shí)際的需求,選擇合適的方法來獲取本機(jī)的IP地址。

  •   在Java中,獲取本機(jī)的IP地址有多種方法。下面將介紹三種常用的方法。

      方法一:使用InetAddress類

      使用InetAddress類是最簡單的方法來獲取本機(jī)的IP地址。通過調(diào)用其中的getLocalHost()方法可以獲取到本機(jī)對應(yīng)的InetAddress對象,然后通過getHostAddress()方法獲取IP地址的字符串表示。

      import java.net.InetAddress;

      import java.net.UnknownHostException;

      public class GetIPAddress {

      public static void main(String[] args) {

      try {

      InetAddress localhost = InetAddress.getLocalHost();

      String ipAddress = localhost.getHostAddress();

      System.out.println("本機(jī)IP地址是:" + ipAddress);

      } catch (UnknownHostException e) {

      e.printStackTrace();

      }

      }

      }

      上述代碼將輸出本機(jī)的IP地址。

      方法二:使用NetworkInterface類

      使用NetworkInterface類可以獲取本機(jī)的所有網(wǎng)絡(luò)接口信息,包括IP地址。通過遍歷所有的網(wǎng)絡(luò)接口,可以獲取每個網(wǎng)絡(luò)接口對應(yīng)的IP地址。

      import java.net.InetAddress;

      import java.net.NetworkInterface;

      import java.net.SocketException;

      import java.util.Enumeration;

      public class GetIPAddress {

      public static void main(String[] args) {

      try {

      Enumeration interfaces = NetworkInterface.getNetworkInterfaces();

      while (interfaces.hasMoreElements()) {

      NetworkInterface networkInterface = interfaces.nextElement();

      Enumeration addresses = networkInterface.getInetAddresses();

      while (addresses.hasMoreElements()) {

      InetAddress address = addresses.nextElement();

      if (!address.isLoopbackAddress() && !address.isLinkLocalAddress() && address.isSiteLocalAddress()) {

      System.out.println("本機(jī)IP地址是:" + address.getHostAddress());

      }

      }

      }

      } catch (SocketException e) {

      e.printStackTrace();

      }

      }

      }

      上述代碼將輸出本機(jī)的所有IP地址,并且過濾掉了回環(huán)地址(loopback address)和本地鏈路地址(link-local address)。

      方法三:使用System類和網(wǎng)絡(luò)接口

      另一種方法是使用System類和網(wǎng)絡(luò)接口來獲取本機(jī)的IP地址。根據(jù)不同的操作系統(tǒng),可以通過System類的方法和環(huán)境變量獲取網(wǎng)絡(luò)接口的名稱,進(jìn)而獲取IP地址。

      import java.net.InetAddress;

      import java.net.NetworkInterface;

      import java.net.SocketException;

      import java.util.Enumeration;

      import java.util.Map;

      public class GetIPAddress {

      public static void main(String[] args) {

      try {

      Map env = System.getenv();

      String os = System.getProperty("os.name").toLowerCase();

      String networkInterfaceName = null;

      if (os.contains("win")) {

      networkInterfaceName = env.get("COMPUTERNAME");

      } else if (os.contains("nix") || os.contains("nux") || os.contains("mac")) {

      networkInterfaceName = env.get("USER");

      }

      NetworkInterface networkInterface = NetworkInterface.getByName(networkInterfaceName);

      Enumeration addresses = networkInterface.getInetAddresses();

      while (addresses.hasMoreElements()) {

      InetAddress address = addresses.nextElement();

      if (!address.isLoopbackAddress() && !address.isLinkLocalAddress() && address.isSiteLocalAddress()) {

      System.out.println("本機(jī)IP地址是:" + address.getHostAddress());

      }

      }

      } catch (SocketException e) {

      e.printStackTrace();

      }

      }

      }

      上述代碼根據(jù)操作系統(tǒng)類型獲取對應(yīng)的網(wǎng)絡(luò)接口名稱,并獲取該網(wǎng)絡(luò)接口的IPv4地址。

      這些就是在Java中獲取本機(jī)IP地址的三種常用方法。根據(jù)需要選擇合適的方法來獲取本機(jī)的IP地址。