Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
JAVA获取计算机的IP、名称、操作系统等信息
2023-10-28
[java]
view plain
copy
print
?
import
java.io.BufferedReader;
import
java.io.InputStream;
import
java.io.InputStreamReader;
import
java.net.InetAddress;
import
java.net.NetworkInterface;
import
java.util.ArrayList;
import
java.util.Formatter;
import
java.util.List;
import
java.util.Locale;
import
java.util.Map;
import
java.util.Properties;
public
class
getComputer {
//通过截取cmd流方式得到计算机的配置信息(不好)
public
static
List<String> getIpAddress(){
Process p =
null
;
List<String> address =
new
ArrayList<String>();
try
{
p =
new
ProcessBuilder(
"ipconfig"
,
"/all"
).start();
}
catch
(Exception e){
return
address;
}
StringBuffer sb =
new
StringBuffer();
//读取进程输出值
InputStream inputStream = p.getInputStream();
BufferedReader br =
new
BufferedReader(
new
InputStreamReader(inputStream));
String s =
""
;
try
{
while
((s=br.readLine())!=
null
){
sb.append(s+
"\n"
);
}
}
catch
(Exception e){
e.printStackTrace();
}
finally
{
try
{
inputStream.close();
}
catch
(Exception e){
e.printStackTrace();
}
}
System.out.println(sb);
return
address;
}
public
static
void
getIpconfig(){
Map<String,String> map = System.getenv();
System.out.println(map.get(
"USERNAME"
));
//获取用户名
System.out.println(map.get(
"COMPUTERNAME"
));
//获取计算机名
System.out.println(map.get(
"USERDOMAIN"
));
//获取计算机域名
}
//得到计算机的ip地址和mac地址
public
static
void
getConfig(){
try
{
InetAddress address = InetAddress.getLocalHost();
NetworkInterface ni = NetworkInterface.getByInetAddress(address);
//ni.getInetAddresses().nextElement().getAddress();
byte
[] mac = ni.getHardwareAddress();
String sIP = address.getHostAddress();
String sMAC =
""
;
Formatter formatter =
new
Formatter();
for
(
int
i =
0
; i < mac.length; i++) {
sMAC = formatter.format(Locale.getDefault(),
"%02X%s"
, mac[i],
(i < mac.length -
1
) ?
"-"
:
""
).toString();
}
System.out.println(
"IP:"
+ sIP);
System.out.println(
"MAC:"
+ sMAC);
}
catch
(Exception e){
e.printStackTrace();
}
}
//得到计算机的ip,名称,操作系统名称,操作系统版本
public
static
void
Config(){
try
{
InetAddress addr = InetAddress.getLocalHost();
String ip=addr.getHostAddress().toString();
//获取本机ip
String hostName=addr.getHostName().toString();
//获取本机计算机名称
System.out.println(
"本机IP:"
+ip+
"\n本机名称:"
+hostName);
Properties props=System.getProperties();
System.out.println(
"操作系统的名称:"
+props.getProperty(
"os.name"
));
System.out.println(
"操作系统的版本:"
+props.getProperty(
"os.version"
));
}
catch
(Exception e){
e.printStackTrace();
}
}
//java环境
public
static
void
all(){
Properties props=System.getProperties();
System.out.println(
"Java的运行环境版本:"
+props.getProperty(
"java.version"
));
System.out.println(
"Java的运行环境供应商:"
+props.getProperty(
"java.vendor"
));
System.out.println(
"Java供应商的URL:"
+props.getProperty(
"java.vendor.url"
));
System.out.println(
"Java的安装路径:"
+props.getProperty(
"java.home"
));
System.out.println(
"Java的虚拟机规范版本:"
+props.getProperty(
"java.vm.specification.version"
));
System.out.println(
"Java的虚拟机规范供应商:"
+props.getProperty(
"java.vm.specification.vendor"
));
System.out.println(
"Java的虚拟机规范名称:"
+props.getProperty(
"java.vm.specification.name"
));
System.out.println(
"Java的虚拟机实现版本:"
+props.getProperty(
"java.vm.version"
));
System.out.println(
"Java的虚拟机实现供应商:"
+props.getProperty(
"java.vm.vendor"
));
System.out.println(
"Java的虚拟机实现名称:"
+props.getProperty(
"java.vm.name"
));
System.out.println(
"Java运行时环境规范版本:"
+props.getProperty(
"java.specification.version"
));
System.out.println(
"Java运行时环境规范供应商:"
+props.getProperty(
"java.specification.vender"
));
System.out.println(
"Java运行时环境规范名称:"
+props.getProperty(
"java.specification.name"
));
System.out.println(
"Java的类格式版本号:"
+props.getProperty(
"java.class.version"
));
System.out.println(
"Java的类路径:"
+props.getProperty(
"java.class.path"
));
System.out.println(
"加载库时搜索的路径列表:"
+props.getProperty(
"java.library.path"
));
System.out.println(
"默认的临时文件路径:"
+props.getProperty(
"java.io.tmpdir"
));
System.out.println(
"一个或多个扩展目录的路径:"
+props.getProperty(
"java.ext.dirs"
));
System.out.println(
"操作系统的名称:"
+props.getProperty(
"os.name"
));
System.out.println(
"操作系统的构架:"
+props.getProperty(
"os.arch"
));
System.out.println(
"操作系统的版本:"
+props.getProperty(
"os.version"
));
System.out.println(
"文件分隔符:"
+props.getProperty(
"file.separator"
));
//在 unix 系统中是"/" System.out.println("路径分隔符:"+props.getProperty("path.separator"));//在 unix 系统中是":" System.out.println("行分隔符:"+props.getProperty("line.separator"));//在 unix 系统中是"/n" System.out.println("用户的账户名称:"+props.getProperty("user.name"));
System.out.println(
"用户的主目录:"
+props.getProperty(
"user.home"
));
System.out.println(
"用户的当前工作目录:"
+props.getProperty(
"user.dir"
));
}
public
static
void
main(String[] args) {
all();
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)
Java
JAVA获取计算机的IP、名称、操作系统等信息 的相关文章
任务“:app:dexDebug”执行失败
我目前正在处理我的项目 我决定将我的 Android Studio 更新到新版本 但在我导入项目后 它显示如下错误 Information Gradle tasks app assembleDebug app preBuild UP TO
Android - 如何访问 onResume 中 onCreate 中实例化的 View 对象?
In my onCreate 方法 我正在实例化一个ImageButton View public void onCreate Bundle savedInstanceState super onCreate savedInstanceSt
检查双精度值的等于和不等于条件
我在比较两者时遇到困难double values using and 我创建了 6 个双变量并尝试进行比较If健康 状况 double a b c d e f if a b c d e f My code here in case of t
如何打印整个字符串池?
我想打印包含文字的整个字符串池String使用添加的对象intern 就在垃圾收集之前 JDK有没有隐式的方法来进行这样的操作 我们如何检查字符串池 EDIT The comment suggests that there may be a
如何对 IntStream 进行逆序排序
我正在使用 txt 文件读取数字BufferedReader 我想颠倒该流中元素的顺序 以便在收集它们时 它们将从最高到最低排列 我不想在构建数组后进行排序 因为我不知道其中可能有多少元素 我只需要最高的 N 个元素 in new Buff
Google Inbox 类似 RecyclerView 项目打开动画
目前 我正在尝试实现 Google Inbox 例如RecyclerView行为 我对电子邮件打开动画很好奇 我的问题是 该怎么做 我的意思是 他们使用了哪种方法 他们用过吗ItemAnimator dispatchChangeStarti
spring - 强制 @Autowired 字段的 cglib 代理
我有混合堆栈 EJB 和 Spring 为了将 Spring 自动装配到 EJB 我使用SpringBeanAutowiringInterceptor 不确定这是否会影响我遇到的问题 在尝试通过以下方式自动装配 bean 时 Scope p
所有junit测试后的清理
在我的项目中 我必须在所有测试之前进行一些存储库设置 这是使用一些棘手的静态规则来完成的 然而 在所有测试之后我不知道如何进行清理 我不想保留一些神奇的静态数字来引用所有测试方法的数量 我应该一直维护它 最受赞赏的方法是添加一些侦听器 该侦
Java替换特定字符
这是我在这个网站上的第一个问题 所以我会尽量不要成为一个十足的菜鸟 我目前正在用java 创建刽子手游戏 所以我问你的问题是我们是否被赋予了 幽灵 这个词 并将 Ghost 替换为 hiddenWord ghost length for i
使用 java 按电子邮件发送日历邀请
我正在尝试使用 java 发送每封电子邮件的日历邀请 收件人收到电子邮件 但不会显示接受或拒绝的邀请 而是将该事件自动添加到他的日历中 我正在使用 ical4j jar 构建活动 邀请 private Calendar getInvite
尝试在没有 GatewayIntent 的情况下访问消息内容
我希望每当我写一条打招呼的消息时 机器人都会在控制台中响应一条消息 但它只是给我一个错误 JDA MainWS ReadThread WARN JDA Attempting to access message content without
Install4j:如何在安装结束时执行命令行 java -jar filename.jar
在 Intall4j 中 在安装结束时 我只想通过执行如下命令行来初始化某些内容 java jar filename jar 我怎样才能归档这个任务install4j Thanks 将 运行可执行文件或批处理文件 操作添加到 安装屏幕 并设
如何在java中使jpeg无损?
有没有人可以告诉我如何使用编写 jpeg 文件losslessjava中的压缩 我使用下面的代码读取字节来编辑字节 WritableRaster raster image getRaster DataBufferByte buffer Da
如何使用 Mockito 和 Junit 模拟 ZonedDateTime
我需要模拟一个ZonedDateTime ofInstant 方法 我知道SO中有很多建议 但对于我的具体问题 到目前为止我还没有找到任何简单的解决办法 这是我的代码 public ZonedDateTime myMethodToTest
如何在android sdk上使用PowerMock
我想为我的 android 项目编写一些单元测试和仪器测试 然而 我遇到了一个困扰我一段时间的问题 我需要模拟静态方法并伪造返回值来测试项目 经过一些论坛的调查 唯一的方法是使用PowerMock来模拟静态方法 这是我的 gradle 的一
我想要一个 Java 阿拉伯语词干分析器
我正在寻找阿拉伯语的 Java 词干分析器 我找到了一个名为 AraMorph 的库 但它的输出是无法控制的 并且它会形成不需要的单词 还有其他阿拉伯语词干分析器吗 这是新的阿拉伯语词干分析器 Assem 的阿拉伯语轻词干分析器 http
Spock模拟inputStream导致无限循环
我有一个代码 gridFSFile inputStream bytes 当我尝试这样测试时 given def inputStream Mock InputStream def gridFSDBFile Mock GridFSDBFile
从一个文本文件中获取数据并将其移动到新的文本文件
我有一个文件 里面有数据 在我的主要方法中 我读入文件并关闭文件 我调用另一种方法 在原始文件的同一文件夹内创建一个新文件 所以现在我有两个文件 原始文件和通过我调用的方法生成的文件 我需要另一种方法 从原始文件中获取数据并将其写入创建的新
Java 编码风格、局部变量与重复方法调用
我更喜欢使用局部变量而不是多次调用同一方法 I prefer this Vehicle vehicle person getVehicle if vehicle instanceof Car Car car Car vehicle car
java中如何找到class文件的包
我正在编写一个使用 class 文件的 java 程序 我希望能够读取文件系统上的 class 文件 使用 InputStream 并确定它所在的包 该 class 文件可能不在一个好的包目录结构中 它可能位于某个随机位置 我怎样才能做到这
随机推荐
C++面向对象
文章目录 一 内存四区 一些小问题 二 再谈引用 三 再谈函数 四 面向对象 封装 五 面向对象 继承 六 面向对象 多态 七 文件输入输出 八 泛型与模板 九 STL容器 string vector deque stack queue l
【华为OD机试 】 在字符串中找出连续最长的数字串(含“+-”号)(C++ Java JavaScript Python)
华为od机试题库 华为OD机试2022 2023 C Java JS Py https blog csdn net banxia frontend category 12225173 html 华为OD机试2023最新题库 更新中 C Ja
alter system与alter database的区别
alter system与alter database的区别alter database 改变数据库的属性 是物理的改变 可以看得见的alter system 改变实例的属性 是逻辑性的改变 看不见的 alter database moun
微信小程序 --自定义堆叠式Swiper
原生小程序写堆叠式swiper 首先看下最终的效果 三张卡片堆叠式swiper 居中的为展示 左右两边为前一个和后一个 如果是第一长 或者最后一张 对应的前后无阴影堆叠 实现思路 一共渲染出4个卡片 然后根据显示位置设置zIndex sca
c语言 查看磁盘信息,获取磁盘列表以及磁盘信息的一些WIN32 API
1 获取所有的驱动器 利用函数 GetLogicalDriveStrings The GetLogicalDriveStrings function fills a buffer with strings that specify vali
postfixadmin连mysql出现乱码问题解决
2019独角兽企业重金招聘Python工程师标准 gt gt gt 最近搭建一个邮件服务器 使用的是postfix maildrop mysql sasl extmail postfixadmin这么软件 主要参考 http sery bl
Golang标准库RPC实践及改进
转载自 http daizuozhuo github io golang rpc practice 一直用Golang标准库里的的RPC package来进行远程调用 简单好用 但是随着任务数量的增大 发现简单的像包里面的示例那样的代码出现
【1】前端开发介绍
一 是什么 创建web页面或APP等前端界面呈现给用户的过程 二 做什么 核心技术 HTML CSS JavaScript以及衍生出的各种技术 框架等 早期的前端界面 比如web界面 相对功能少 速度慢 不美观 而如今前端开发带来了实在的改
vue3中使用animate.css
提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 animate css在vue中的使用 路由动画transition或者在组件中控制使用 一 安装和引入 二 使用步骤 1 用于router view 2 用于组件
Zotero 超好用插件的下载链接及配置方法
如果你是一名学术研究者 你肯定需要管理海量的文献 而 Zotero 是一个非常好用的工具 它可以帮助你管理文献 生成参考文献 并且与 Word 等文本编辑器无缝集成 下面是 Zotero 插件的下载链接及配置方法 下载 Zotero 插件
想进阿里P7,你必须掌握这些技能专题
源码分析专题 源码经典设计模式 如何写代码 提升技术审美 提高核心竞争力 1 常用设计模式 2 sping5 3 Mybatis 源码分析专题 分布式专题 迎接高并发大数据的挑战 从深度到广度的知识体系 下一个互联网高薪人才必学知识 1 分
1.18.3K8S提示:Init:ImagePullBackOff报错
集群搭建好后 输出查看命令查看kube组件是否搭建成功 kubectl get pod all namespaces kubectl get pod n kube system 出现了如下图的 Init ImagePullBackOff 错
SpringMVC +Spring+ SpringJDBC 整合 教程
项目文件结构 如下截图 第一步 整合web xml 文件 主要实现SpringMVC监听器 DispatchServlet 编码过滤器 Spring监听器和内存监听器
雷电模拟器 服务器无响应,雷电模拟器怎么用脚本长时间运行未响应win10
vbInformation ExitSub Err100 MsgBox 对不起 不能建立表 结果 保存文档共有二种方法 方法1 VB3 VB4之版本 可于Form Load 程序中加入下列程式码 Me Move Screen Width W
conda的安装
Step1 下载miniconda的安装脚本 Step2 运行miniconda的安装脚本 Step3 查看并同意license Step3 选择安装位置 Step4 同意初始化 Step5 设置是否要显示base环境提示 Step6 重新
STM32-固件打包部署
STM32 固件打包部署 Fang XS 1452512966 qq com STM32固件输出 工程上使用Keil开发STM32软件 在调试过程中 可直接编译下载 例如bootloader和APP 在调试时 可以直接下载2次 但是工程上
【python】如何动态获取某个文件的绝对路径?
导读 获取文件路径的方法诸如os getcwd os path abspath path 此类方法都是基于当前程序的启动目录来确定路径的 因此 当需要通过相对路径获取非当前目录下的文件时 就会出现类似No such file or dire
【远程服务器】如何删除远程服务器中所有的特定类型的文件、如何在远程服务器中新建文件夹、如何逐行遍历文件夹中的图片等任务
文章目录 一 如何删除远程服务器中所有的特定类型的文件 二 远程服务器上新建一个文件夹 三 如何逐行遍历文件夹中的图片 四 如何想办法读取某个文件夹中的照片 五 远程服务器如何清除一个很长的文件夹 六 删除所有文件 七 ssh远程连接的服务
半导体设备通讯标准(SECS/GEM)
目录 收起 前言 一 SECS GEM 简介 二 系统的硬件组成 三 搞清楚需求 搞明白是什么 基本玩法规则 1 secs是一个协议族
JAVA获取计算机的IP、名称、操作系统等信息
java view plain copy print import java io BufferedReader import java io InputStream import java io InputStreamReader imp
热门标签
gesture
nonatomic
nancy
bsod
jsonlite
shinybs
flashlight
ktor
jshell