`

Java获取计算机名

 
阅读更多
转自:http://blog.csdn.net/enterys/article/details/7914753

修改与20130705:
private static String getCurrentRunningServerComputerName () {
      // Windows
      String computerName = System.getenv().get("COMPUTERNAME");
      
      if (computerName == null) {
        // Linux
        String tempHostName = System.getenv().get("HOSTNAME");
        if (tempHostName != null && tempHostName.split("\\.").length > 0) {
          computerName = tempHostName.split("\\.")[0];
        } else {
          computerName = tempHostName;
        }
      }
      
      return computerName;
    }



package d20130220;

import java.util.Map;

public class GetComputerName {
  
  public static void main(String[] args) {
    Map<String, String> map = System.getenv();
    
    System.out.println(map.get("USERNAME"));
    System.out.println(map.get("COMPUTERNAME"));
    System.out.println(map.get("USERDOMAIN"));
  }

}



------------------------原文---------------------------------
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地址。 首先,我们来看如何获取计算机名。计算机名通常指的是主机在网络中的标识符,可以通过`java.lang`包中的`InetAddress`类来获取。以下是一个简单的示例: ```...

    java中获取客户端IP MAC信息

    可以通过java获取客户端IPMAC主机名等信息。下载就能用,欢迎下载!

    Java获取计算机CPU、内存等信息

    在Java编程中,获取计算机的硬件信息,如CPU使用率和内存使用情况,是一项常见的需求。这主要应用于系统监控、性能分析以及资源管理等方面。Java虽然不像C++或C#那样可以直接调用操作系统API,但它提供了Java ...

    java获取计算机cpu利用率和内存使用

    java 获取计算机cpu利用率和内存使用信息,需要的自己下载测试吧。

    java获取计算机硬件基本信息

    以上代码示例展示了如何使用Java获取计算机的基本硬件信息。在实际项目开发中,这些信息可用于监控系统性能、资源利用率统计以及异常检测等。在使用时,记得根据项目需求选择适当的库和方法,并处理可能的异常情况。...

    JAVA获取计算机硬盘序列号、分区卷标号、MAC地址、IP地址、计算机名称

    该jar工具包是通过DiskID.dll获取计算机硬盘序列号、分区卷标号、MAC地址、IP地址、计算机名称等的信息,获取内容如下: 计算机名称:201709071714 硬盘序列号:183534442995 C分区卷标号:29F513CB MAC地址:F0-A9-59-...

    Java获取计算机信息和产生随机数

    主要是一个Java获取计算机基本信息并且在Web页面上以ExtJs4的图表展示,这里删除了ExtJs4的资源和一个算法产生验证码,因为这个算法最终使用到了产品中,所以就把这个测试的类删除了,各位不好意思了

    java获取电脑的硬件信息代码

    本程序通过java准确获取电脑的硬件信息,中间用到第三方包,也一并放在本压缩文件中,里面有两个DLL动态链接库问价,要把这两个文件放在系统盘的SYSTEM32文件夹下面,合理配置第三方包就可以运行这个程序来获得电脑...

    Java-简单计算机

    计算机会包含一个或多个类(class),比如一个名为`Calculator`的主类。在这个类中,可能会定义一些方法来执行特定的数学运算,例如`add()`, `subtract()`, `multiply()`, 和 `divide()`。每个方法将接收两个参数,...

    计算机等级二级JAVA真题

    【计算机等级二级JAVA真题】全国计算机等级考试是针对计算机技术应用能力的考核,其中JAVA语言部分主要测试考生对JAVA编程基础知识的掌握程度以及实际编程能力。这份资料聚焦于2006年9月的二级Java考试试题,是备考...

    Java编程语言的计算机软件开发应用.pdf

    综上所述,Java编程语言具有简单、稳健、面向对象、可移植以及多线程等多重特性,使其在计算机软件开发中获得了广泛的应用。随着未来技术的不断发展,Java编程语言在软件开发领域的应用前景将会更加广阔。

    java获取文件创建时间

    ### Java 获取文件创建时间 在Java中,获取文件的创建时间并不像获取文件的最后修改时间那样简单直接。这是因为Java标准库(JDK)在早期版本中并没有提供直接获取文件创建时间的方法。不过,从Java 7开始,通过NIO...

    java-getDisk.rar_Java 获取主板ID_java获取电脑ID

    在Java编程语言中,获取计算机硬件信息,如主板ID(也称为系统UUID)和硬盘分区编号,是一项常见的任务,尤其在系统管理和软件授权等领域。以下将详细解释如何使用Java实现这些功能。 首先,主板ID是计算机主板上的...

    JAVA计算机管理系统

    【JAVA计算机管理系统】是一个以Java编程语言为基础的综合性管理平台,它旨在提供高效、稳定且易用的系统解决方案。在Java技术栈的支持下,该系统能够处理各种复杂的业务逻辑,实现数据的有效管理和操作。Java因其跨...

    Java语言计算机科学与程序设计

    《Java语言计算机科学与程序设计》是一本深入探讨Java编程技术的权威著作,适用于初学者和有经验的程序员。本书全面覆盖了Java编程的核心概念,包括面向对象编程、类和对象、封装、继承、多态性,以及异常处理、输入...

    Java获取CPU&主板&硬盘序列号

    综上所述,Java获取CPU、主板和硬盘序列号涉及到操作系统级别的交互,需要利用Java的扩展机制如JNI或第三方库。由于安全性和跨平台性的考虑,这在Java中并不是一个直接的任务,需要针对不同的操作系统实现不同的解决...

    用Java写的简易计算机

    6. **输入/输出处理**:为了让用户输入数值并显示结果,开发者可能使用了Java的IO库,如Scanner类来获取用户输入,System.out.println()来打印输出结果。 7. **堆栈与科学计算**:提到科学计算,通常涉及复杂数学...

    通过java获取远程机器mac地址

    在对网内主机进行监控时需要通过java获取远程机器的mac地址

    java计算机的代码

    Java编程语言是计算机科学中的重要组成部分,特别是在软件开发领域,它具有广泛的应用。"java计算机的代码"这个标题暗示了我们可能在讨论一个基于Java语言的计算机程序或项目,可能是用于学习、实践或是解决特定问题...

    java编程简单获取图片像素的方法

    在Java编程中,获取图片像素是一项常见的任务,特别是在图像处理、计算机视觉或数据分析等领域。本文将详细介绍如何使用Java API来简单地获取图片的像素信息。 首先,我们需要导入相关的Java类库,包括`java.awt....

Global site tag (gtag.js) - Google Analytics