JAVA获取计算机的IP、名称、操作系统等信息
- 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();
- }
- }
JAVA获取计算机的IP、名称、操作系统等信息的更多相关文章
- java获取本机IP地址
转载自:http://blog.csdn.net/thunder09/article/details/5360251 在网上找了几个用java获取本机IP地址的代码,发现都少都有些不完美,自己整理了一 ...
- java获取本机ip(排除虚拟机等一些ip)最终解,总算找到方法了
本文参考https://blog.csdn.net/u011809209/article/details/77236602 本文参考https://blog.csdn.net/yinshuomail/ ...
- 详谈再论JAVA获取本机IP地址
首先,你如果搜索“JAVA获取本机IP地址”,基本上搜到的资料全是无用的.比如这篇:http://www.cnblogs.com/zrui-xyu/p/5039551.html实际上的代码在复杂环境下 ...
- [Java]通过java获取计算机名
通过java获取计算机名 String hostname = "Unknown"; try { InetAddress addr; addr = InetAddress.getLo ...
- PHP获取访客IP、地区位置信息、浏览器、来源页面
不多说了,每个方法都注释了,可以直接用: <?php //这个类似用来获取访客信息的 //方便统计 class visitorInfo { //获取访客ip public function ge ...
- IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息
IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息 /**当获取到定位的坐标后,回调函数*/ - (void)didUpdateBMKUserLocation:(BMKUserLocati ...
- JAVA获取计算机CPU、硬盘、主板、网络等信息
通过使用第三方开源jar包sigar.jar我们可以获得本地的信息 1.下载sigar.jar sigar官方主页 sigar-1.6.4.zip 2.按照主页上的说明解压包后将相应的文件copy到j ...
- Java 获取Linux 的IP地址
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...
- Nginx反向代理后,java获取客户端真实IP地址
一般情况下,java获取客户端IP地址的方法为request.getRemoteAddr();但这只是在没有网关或者代理的情况下,如果客户端将请求发送到nginx,再由nginx进行反向代理到目标服务 ...
随机推荐
- cocos2d-x-3.0beta2创建项目遇到“UnicodeDecodeError: 'ascii' codec can't decode byte 0xd7 in position 9: ordinal not in range(128)”的问题
在Windows平台下 用cocos2d-x-3.0beta2版本下的create_project.py工具创建项目 但是遇到如下问题:UnicodeDecodeError: 'ascii' code ...
- 72. Edit Distance(困难,确实挺难的,但很经典,双序列DP问题)
Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2 ...
- joomla网站内插入doc文档
最近我的网站又出了问题,之前用joomla做的网站,由于要放doc文档,后来想尽办法终于用iframe的办法,先把文档传到scribd网,然后把文档嵌到网站里去,但是狗血的,去年五月份的时候我们伟大的 ...
- 解决linux中使用git,ssh每次都要输入密码
在linux中使用git,去提交或者下载代码都是很方便的,但是最近新配置了一套系统,发现每次git pull或者其他动作都需要输入密码. 想一想不对劲啊,我使用的是ssh的方式clone的代码,而且在 ...
- CSharpGL(48)用ShadowVolume画模型的影子
CSharpGL(48)用ShadowVolume画模型的影子 在Per-Fragment Operations & Tests阶段,有一个步骤是模版测试(Stencil Test).依靠这一 ...
- linux 3.10 串口注册
这个调用过程特别奇特,值得记下来. 最外层调用start_kernel的console_init()进行串口注册. console_init()调用drivers/tty/tty_io.c: void ...
- OpenCV+VS2013 属性表配置
简介 计算机视觉任务越来越多的依赖著名的开源计算机视觉库OpenCV.OpenCV 2.0 包含了一系列精心设计数据结构和经过优化的视觉算法,大家可以短时间内开发一个不错的视觉应用.OpenCV支持多 ...
- RX系列四 | RxAndroid | 加载图片 | 提交表单
RX系列四 | RxAndroid | 加载图片 | 提交表单 说实话,学RxJava就是为了我们在Android中运用的更加顺手一点,也就是RxAndroid,我们还是先一步步来,学会怎么去用的比较 ...
- Lucene查询结果高亮
检索结果高亮 实现效果: 核心代码 package ucas.ir.lucene; import java.io.File; import java.io.IOException; import ja ...
- Android二维码扫描、生成
Android二维码扫描.生成 现在使用二维码作为信息的载体已经越来越普及,那么二维码的生成以及扫描是如何实现的呢 google为我们提供了zxing开源库供我们使用 zxing GitHub源码地址 ...