您的位置:

java获取电脑ip的所在位置(java获取当前电脑ip)

本文目录一览:

JAVA怎么获取IP地址

这个是获取不到的,因为有代理、端口映射等等转发情况的存在。为什么不保存相对路径/域名/或者在服务器上某个配置文件中配置域名/数据库中一个表/数据库中某个字段保存当前服务器的ip地址呢?

java如何查询本机ip地址和mac地址

   Java中可以使用程序来获取本地ip地址和mac地址,使用InetAddress这个工具类,示例如下:

import java.net.*;

public class NetInfo {

 public static void main(String[] args) {

    new NetInfo().say();

    }

 public void say() {

   try {

   InetAddress i = InetAddress.getLocalHost();

   System.out.println(i);                  //计算机名称和IP

   System.out.println(i.getHostName());    //名称

   System.out.println(i.getHostAddress()); //只获得IP

   }

   catch(Exception e){e.printStackTrace();}

 }

}

    也可以通过命令行窗口来查看本地ip和mac地址,输入命令:ipconfig。

java中获取本地IP地址

方法如下:

方法一,使用CMD命令:

public static String getLocalIPForCMD(){

StringBuilder sb = new StringBuilder();

String command = "cmd.exe /c ipconfig | findstr IPv4";

try {

Process p = Runtime.getRuntime().exec(command);

BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));

String line = null;

while((line = br.readLine()) != null){

line = line.substring(line.lastIndexOf(":")+2,line.length());

sb.append(line);

}

br.close();

p.destroy();

} catch (IOException e) {

e.printStackTrace();

}

return sb.toString();

}

方法二,使用Java方法:

public static String getLocalIPForJava(){

StringBuilder sb = new StringBuilder();

try {

EnumerationNetworkInterface en = NetworkInterface.getNetworkInterfaces();

while (en.hasMoreElements()) {

NetworkInterface intf = (NetworkInterface) en.nextElement();

EnumerationInetAddress enumIpAddr = intf.getInetAddresses();

while (enumIpAddr.hasMoreElements()) {

InetAddress inetAddress = (InetAddress) enumIpAddr.nextElement();

if (!inetAddress.isLoopbackAddress() !inetAddress.isLinkLocalAddress()

inetAddress.isSiteLocalAddress()) {

sb.append(inetAddress.getHostAddress().toString()+"\n");

}

}

}

} catch (SocketException e) { }

return sb.toString();

}