今天闲着没事儿,上网查了一下怎样在Java中获取本机的ip和主机名。
主要用到了java.net包下的InetAddress类,这个类就是对ip地址的抽象。
程序如下:
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Properties;
import java.util.Set;
public class TestSystemProperties {
public static void main(String [] args){
InetAddress netAddress = getInetAddress();
System.out.println("host ip:" + getHostIp(netAddress));
System.out.println("host name:" + getHostName(netAddress));
Properties properties = System.getProperties();
Set<String> set = properties.stringPropertyNames(); //获取java虚拟机和系统的信息。
for(String name : set){
System.out.println(name + ":" + properties.getProperty(name));
}
}
public static InetAddress getInetAddress(){
try{
return InetAddress.getLocalHost();
}catch(UnknownHostException e){
System.out.println("unknown host!");
}
return null;
}
public static String getHostIp(InetAddress netAddress){
if(null == netAddress){
return null;
}
String ip = netAddress.getHostAddress(); //get the ip address
return ip;
}
public static String getHostName(InetAddress netAddress){
if(null == netAddress){
return null;
}
String name = netAddress.getHostName(); //get the host address
return name;
}
}
其中System.getProperties中包含很多的信息,包括:
Java中System.getProperty的使用
1,System.getProperty返回的数值,比如java.version,java.home,os.name,user.home以及user.dir等等.
2,getProperties
public static Properties getProperties()确定当前的系统属性.
首先,如果有安全管理器,则不带参数直接调用其 checkPropertiesAccess 方法.这可能导致一个安全性异常.
将 getProperty(String) 方法使用的当前系统属性集合作为 Properties 对象返回.如果没有当前系统属性集合,则先创建并初始化一个系统属性集合.这个系统属性集合总是包含以下键的值: 键 相关值的描述
java.version Java 运行时环境版本
java.vendor Java 运行时环境供应商
java.vendor.url Java 供应商的 URL
java.home Java 安装目录
java.vm.specification.version Java 虚拟机规范版本
java.vm.specification.vendor Java 虚拟机规范供应商
java.vm.specification.name Java 虚拟机规范名称
java.vm.version Java 虚拟机实现版本
java.vm.vendor Java 虚拟机实现供应商
java.vm.name Java 虚拟机实现名称
java.specification.version Java 运行时环境规范版本
java.specification.vendor Java 运行时环境规范供应商
java.specification.name Java 运行时环境规范名称
java.class.version Java 类格式版本号
java.class.path Java 类路径
java.library.path 加载库时搜索的路径列表
java.io.tmpdir 默认的临时文件路径
java.compiler 要使用的 JIT 编译器的名称
java.ext.dirs 一个或多个扩展目录的路径
os.name 操作系统的名称
os.arch 操作系统的架构
os.version 操作系统的版本
file.separator 文件分隔符(在 UNIX 系统中是"/")
path.separator 路径分隔符(在 UNIX 系统中是":")
line.separator 行分隔符(在 UNIX 系统中是"/n")
user.name 用户的账户名称
user.home 用户的主目录
user.dir 用户的当前工作目录
系统属性值中的多个路径是用平台的路径分隔符分隔的.
注意,即使安全管理器不允许执行 getProperties 操作,它可能也会选择允许执行 getProperty(String) 操作.
System.getProperty()参数大全2007-05-10 09:01java.version Java Runtime Environment version
java.vendor Java Runtime Environment vendor
java.vendor.url Java vendor URL
java.home Java installation directory
java.vm.specification.version Java Virtual Machine specification version
java.vm.specification.vendor Java Virtual Machine specification vendor
java.vm.specification.name Java Virtual Machine specification name
java.vm.version Java Virtual Machine implementation version
java.vm.vendor Java Virtual Machine implementation vendor
java.vm.name Java Virtual Machine implementation name
java.specification.version Java Runtime Environment specification version
java.specification.vendor Java Runtime Environment specification vendor
java.specification.name Java Runtime Environment specification name
java.class.version Java class format version number
java.class.path Java class path
java.library.path List of paths to search when loading libraries
java.io.tmpdir Default temp file path
java.compiler Name of JIT compiler to use
java.ext.dirs Path of extension directory or directories
os.name Operating system name
os.arch Operating system architecture
os.version Operating system version
file.separator File separator ("/" on UNIX)
path.separator Path separator (":" on UNIX)
line.separator Line separator ("\n" on UNIX)
user.name User's account name
user.home User's home directory
user.dir User's current working directory
所有这些参数均转自网上
分享到:
相关推荐
在IT领域,了解和操作计算机网络的基本信息是至关重要的,其中IP地址、主机名和MAC地址是网络通信的基础。本文将详细阐述这三个概念及其在实际应用中的重要性。 首先,让我们来谈谈IP(Internet Protocol)地址。IP...
以上代码示例展示了如何在不同环境和编程语言中获取主机名和IP地址。了解这些基础知识对于进行网络编程和故障排查至关重要。无论是开发服务器应用程序、客户端应用还是网络自动化脚本,掌握这些基本操作都将大大提升...
Java获取本机MAC地址IP地址主机名
`InetAddress.getLocalHost()` 是Java中用于获取本地主机名和IP地址的方法,但在某些情况下,它可能返回的是环回地址(如127.0.0.1或127.0.1.1),而不是实际连接到网络的IP地址。这是因为环回地址是用于本地主机的...
可以通过`getLocalHost()`方法获取本机主机名,然后调用`getHostAddress()`方法得到对应的IP地址。示例代码如下: ```java import java.net.InetAddress; import java.net.UnknownHostException; public class Get...
在Java编程中,获取本机IP地址和主机名是常见的需求,这主要涉及到网络协议的交互。本实例将深入讲解如何使用Java实现这一功能,并提供详细的源代码和指导教程。以下是对这一主题的详尽解释。 首先,让我们理解IP...
在IT领域,获取本机IP地址和主机名是常见的任务,尤其对于系统管理员和开发者来说。这涉及到网络通信的基础知识,因为IP地址是网络设备在互联网上唯一标识,而主机名则是用户友好的设备名称。以下是一些关于如何在...
可以通过java获取客户端IPMAC主机名等信息。下载就能用,欢迎下载!
在IT领域,获取本机主机名和IP地址是常见的网络编程任务,这涉及到操作系统与网络接口的交互。本文将详细讲解这两个概念以及如何在不同环境下实现获取。 首先,主机名是一个标识符,用于唯一地识别网络上的计算机。...
在IT行业中,网络编程是不可或缺的一部分,而获取主机名和IP地址是网络通信的基础操作。在许多应用场景中,如服务器管理、网络诊断、分布式系统设计等,都需要知道一个设备在网络中的标识,即主机名和IP地址。下面...
"基于Java实现获取本地IP地址和主机名" 在Java编程中,获取本地IP地址和主机名是一个常见的需求。本文将详细介绍基于Java实现获取本地IP地址和主机名的两种方式,并对每种方式进行了详细的解释和示例代码。 方式一...
首先,最简单的方法是使用`InetAddress`类的`getLocalHost()`方法来获取本机主机名对应的IP地址。如下所示: ```java InetAddress inet = InetAddress.getLocalHost(); System.out.println("本机的 IP=" + inet....
在Java编程中,实现“Java获得本机IP自动上传ftp”的功能涉及到两个主要部分:获取本机IP地址和使用FTP(File Transfer Protocol)协议进行文件上传。以下将详细阐述这两个部分的知识点。 首先,让我们来看看如何...
在IT行业中,获取本机IP地址是一项常见的任务,特别是在网络编程和系统管理中。IP地址是互联网协议(Internet Protocol)中的标识符,用于区分网络上的设备。本机IP地址指的是设备连接到网络时所使用的地址。以下是...
在调试时,查看主机名和域名可以帮助定位问题。 总的来说,理解并掌握如何在Java中获取本地主机的域名和主机名是网络编程的基础技能,对于开发涉及网络通信的Java应用程序至关重要。通过熟练运用`InetAddress`类...
`InetAddress.getLocalHost()`方法返回与本地主机相关的`InetAddress`对象,包含了主机名和IP地址。 2. **获取IP地址**:`InetAddress`对象提供了`getHostAddress()`方法,用于获取IP地址字符串。这个IP地址可能是...
本篇文章将详细讲解如何在不同的操作系统环境下获取主机名和IP地址,并通过实例源码进行演示。 一、主机名 主机名通常由字母、数字和点组成,例如“mycomputer.example.com”。它包含了设备的名称和所属的域名。...
// 获取本机主机名 for (InetAddress address : InetAddress.getAllByName(null)) { // 获取所有网络接口的IP地址 if (!address.isLoopbackAddress()) { System.out.println(address.getHostAddress()); // 输出...
下面将详细介绍如何使用Java获取计算机名和IP地址。 首先,我们来看如何获取计算机名。计算机名通常指的是主机在网络中的标识符,可以通过`java.lang`包中的`InetAddress`类来获取。以下是一个简单的示例: ```...
5. **IP地址的其他操作**:如计算IP地址的子网掩码、获取IP地址的主机名、判断两个IP地址是否在同一子网等。 对于这个工具类的实现,`IpUtils.java`文件就是关键。打开这个文件,我们可以看到类定义、方法声明和...