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

  • 1、JAVA怎么获取IP地址
  • 2、java如何查询本机ip地址和mac地址
  • 3、java中获取本地IP地址

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

   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。

方法如下:

方法一,使用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();

}

原创文章,作者:J34RK,如若转载,请注明出处:https://www.506064.com/n/126781.html

汽车小知识 小米SU7 今日油价 油耗计算器 电耗计算器 购置税计算器 贷款计算器 保险计算器 交通违章代码 体育新闻
(0)
J34RKJ34RK
上一篇 2024-10-03
下一篇 2024-10-03

相关推荐

  • Java中如何使用keyset()方法

    Java语言中的Map类型是一种非常常用的数据结构,它可以存储键值对,Map中常用的操作之一就是获取所有的键或者所有的值。而keySet()方法就是用来获取Map中所有key的集合…

    编程 2024-10-03
  • mysql导入sql文件命令步骤(mysql用命令行导入sql文件)

    source命令导入 1、打开命令行终端(在Windows上为命令提示符,Linux或macOS上为终端)。 2、进入MySQL命令行客户端。在命令行中输入以下命令,然后按Ente…

    编程 2024-10-03
  • skiptest详解

    一、skiptests skiptests是Python中的一种测试工具,用于在测试过程中跳过某些测试用例,以便在更改程序时仅运行关键部分。通常在测试用例可能需要大量时间或资源来完…

    编程 2024-10-04
  • #ffffff是完美白色

    一、颜色值#FFFFFF的含义 1、颜色#FFFFFF代表红、绿、蓝三原色的最大值,因此也被称为“完美白色”。 2、在网页设计中,#FFFFFF通常用作背景色或元素色,可以增强页面…

    编程 2024-10-26
  • zip参数重新编译php(后缀改为zip)

    本文目录一览: 1、编译PHP提示zip错误,请问怎么解决 2、用PHP如何检测一个ZIP包内的文件是在何种编码的系统下创建的 3、zip密码 php 4、linux下安装php编…

  • 深入解析nosignatureofmethod方法

    一、nosignatureofmethod 简介 nosignatureofmethod是一种在Java中使用反射机制,调用没有方法签名的私有方法的方法。通过此方法,我们可以调用那…

    编程 2024-10-04
  • Linux字符串拼接详解

    一、基础概念 在Linux系统中,字符串是一组字符的序列,可以包含字母、数字、特殊字符、空格、控制字符等。在Linux中,字符串拼接是将多个字符串拼接在一起,形成一个完整的字符串的…

    编程 2024-10-04
  • python模板方法模式的简单介绍

    1、Python有设计模式么 2、python面试一般问什么常用设计模式 3、python什么是设计模式 Python设计模式主要分为三大类:创建型模式、结构型模式、行为型模式;三…

    编程 2024-10-03
  • Python调试详解

    一、断点调试 1、断点是Python调试过程中最常用的方式之一,可以确定程序执行到哪一行后停止并进入单步调试模式。在PyCharm中,可以通过左侧行号单击设置断点,或在代码行上右键…

    编程 2024-10-04
  • 3ds导入su有很多线,3d导入su模型好多线怎么办

    本文目录一览: 1、su模型中出现了很多线条,删掉会把整个面删掉,怎么办 2、3ds导入sketchup多余线面过多如何处理 3、请问我这3ds格式导入su是这样的线条是怎么回事啊…

    编程 2024-11-01

发表回复

登录后才能评论