获取本机IP可区分系统可区分虚拟机和本机java程序跨平台
1、只是Windows系统使用的
InetAddress addr = InetAddress.getLocalHost();
String ip=addr.getHostAddress().toString;//获得本机IP
String address=addr.getHostName().toString;//获得本机名称
2、windows和linux都可以使用的,且只获取IPV4,返回String类型
public class GetLocalHostAddr {
public String getLocalHostAddr(){
Enumeration allNetInterfaces;
Vector<String> ipAddr = new Vector<String>();
String ipLocalAddr = null;
InetAddress ip = null;
try {
allNetInterfaces = NetworkInterface.getNetworkInterfaces();
while (allNetInterfaces.hasMoreElements()) {
NetworkInterface netInterface = (NetworkInterface)
allNetInterfaces.nextElement();
System.out.println(netInterface.getName()+”====Name”);
Enumeration addresses = netInterface.getInetAddresses();
while (addresses.hasMoreElements()) {
ip = (InetAddress) addresses.nextElement();
ipAddr.add(ip.toString());
if (ip != null && ip instanceof Inet4Address) //IP是ipv4,ipv6换成Inet6Address
{
String hostAddress = ip.getHostAddress();
System.out.println("本机的IP =" + hostAddress);
System.out.println("hostAddress===="+hostAddress.equals("127.0.0.1"));
if(!hostAddress.equals("127.0.0.1") && !hostAddress.equals("/127.0.0.1")){ ipLocalAddr = ip.toString().split("[/]")[1]; //得到本地IP
}
System.out.println(ipLocalAddr+"===============ipLocalAddr");
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
return ipLocalAddr;
}
3、Windows上区分虚拟机和本机的IP
判断时加上netInterface.getName()==eth0 (本机IP) netInterface.getName()==eth1 (虚拟机IP)(一个虚拟机)
4、分辨系统(通过系统名字)
String osName = System.getProperty("os.name"); //获取系统名称
if(osName!=null&&osName.startsWith("Windows")){ //如果是Windows系统
//获取IP
}esle if(osName!=null&&osName.startsWith("Linux")){ //如果是Linux系统
//获取IP }
转载于:https://blog.51cto.com/yuke198907/1295276
获取本机IP可区分系统可区分虚拟机和本机java程序跨平台相关推荐
- Mac系统下连接阿里云并运行java程序
文章目录 Mac系统下连接阿里云并运行java程序 第一步:连接服务器并查看当前服务器中java的版本 第二步:自行安装jdk环境 第三步:安装上传的jdk,并配置环境变量 第四步:创建.java程序 ...
- java 获取当前ip_不停机还能替换代码?6年的 Java程序员表示不可思议
❝ 相信很多人都有这样一种感受,自己写的代码在开发.测试环境跑的稳得一笔,可一到线上就抽风,不是缺这个就是少那个反正就是一顿报错,而线上调试代码又很麻烦,让人头疼得很.不过, 阿里巴巴出了一款名叫Ar ...
- Qt网路与通信(获取本机IP、MAC、IPV6子网掩码等网络信息)
Qt网路与通信(获取本机网络信息) 在网络应用中,经常需要获取本机的主机名/IP地址和硬件地址信息等网络信息.运用QHostInfo.QNetworkInterface.QNetworkAddress ...
- 获取项目服务器ip,java获取服务器ip地址
java获取服务器ip地址 内容精选 换一换 如果IP经过NAT/WAF,则只能获取到NAT/WAF转化后的IP地址,无法获取到NAT/WAF前的IP地址.如果客户端为容器,只能获取到容器所在主机的I ...
- localhost,127.0.0.1,本机IP
一.简述 使用 localhost 或 127.0.0.1 或直接输入本机 IP,这三者都可以访问到本机,那为什么会存在这三种形式呢?它们之间又有啥区别呢? 1️⃣本机IP 电脑主板上都内置了多种网卡 ...
- Linux上使用telnet连接本机IP地址端口
场景 Linux开启了iptables!!! 开启本机TCP80端口服务.Linux本机IP地址是192.168.204.129.本机telnet连接本机的TCP80端口. 目的 telnet 192 ...
- 学习JSP——在虚拟机中建立一个JSP网页,通过Tomcat服务器发布,并通过虚拟机的宿主机浏览器访问虚拟机上所发布的JSP网页
1.介绍JSP (1)简介 JSP全称Java Server Pages,是一种动态网页开发技术.它使用JSP标签在HTML网页中插入Java代码.标签通常以<%开头以%>结束. JSP是 ...
- 系统无ifconfig,一条命令获取本机ip并将其赋值给指定变量来使用
在Linux系统中,准确地获取本机IP信息是非常有用的.在写bash shell脚本事经常会用到IP,这时就需要我们使用一些办法获取本机IP并赋值给变量来使用.最近刚刚完成grep及sed的摸索.研究 ...
- java获取本机ip地址_代码片段:获取系统所有IP
问题 在Windows系统中,可以支持多个网卡,比如有线的以太网卡,无线网卡,虚拟网卡等.如下图所示: 每一张网卡由不同的类型,也可以分别被用户启用或禁用. 对于单独一张给定的网卡,其IP地址可以是D ...
- java获取本机IP,系统随机分配端口号,获取当前线程ID
ServerSocket serverSocket = null; //读取空闲的可用端口 String localIp = null; try {serverSocket = new ServerS ...
最新文章
- webpack 相关文章
- iOS开发-项目的完整重命名方法,图文教程。
- 周围剃光头顶留长发型_发型改变气质,这话放在石原里美身上也通用啊
- Tableau Desktop
- bootstrap怎么在移动端横向布局_移动端筛选中的「不限」到底该怎么用
- 算法竞赛入门 第2版 习题3-3 UVa1225
- MD5加密,Base64加密/解密,AES加密/解密
- 7.业务架构·应用架构·数据架构实战 --- 业务架构书
- 思科交换机(cisco)开启802.1x认证
- 用CSS制作细线表格
- C/C++编程:log4cpp使用学习
- Ubuntu下安装VSCODE并输入中文
- 机器学习(8): 逻辑回归算法 小结及实验
- 光驱位改装固态硬盘并装win 和linux双系统
- 浅析Trafodion体系结构
- 量子计算机原理以及量子算法
- oracle创建表空间及查看表空间和使用情况
- Ubuntu16.04 安装docker-ce [傻瓜教程]
- 【两化融合】新一代信息技术怎样与制造业深度融合?
- 这套设备管理方案助你效率10倍提升