`
keepwork
  • 浏览: 332437 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
阅读更多
开发者博客:http://www.developsearch.com

/**
 * 获取系统信息
 * 
 * @author chenxin
 * @version [版本号, 2012-5-21]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public class SystemInfoUitl {

	/**
	 * 系统属性
	 */
	private static final Properties props = System.getProperties();
	
	public static final String OSNAME = "os.name";
	
	public static final String OSVERSION = "os.version";
	
	public static final String JAVAVERSION = "java.version";
	
	/**
	 * 获取操作系统名称 
	 * @return  操作系统名称
	 */
	public static String getSystemOS()
	{
		return props.getProperty(OSNAME);
	}
	
	/**
	 * 获取操作系统版本
	 * @return
	 */
	public static String getSysteOSVersion()
	{
		return props.getProperty(OSVERSION);
	}
	
	/**
	 * 获取java运行时的环境版本
	 * @return
	 */
	public static String getJavaVersion()
	{
		return props.getProperty(JAVAVERSION);
	}



    /**
     * 获取linux网卡的mac地址. 系统默认调用本方法获取.如果有特殊系统请继续扩充新的取mac地址方法.
     * 
     * @return mac地址
     */
    public static String getLinuxAllMACAddr()
    {
        StringBuffer sbMac = new StringBuffer();
        BufferedReader br = null;
        Process process = null;
        try
        {
            // linux下的命令获取所有网卡的mac地址
            process = Runtime.getRuntime().exec("ifconfig -a");// linux下的命令获取所有网卡的mac地址
            br = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String strLine = null;
            int iTmpIndx = 0;
            while ((strLine = br.readLine()) != null)
            {
                // System.out.println(strLine);
                iTmpIndx = strLine.toLowerCase().indexOf("hwaddr");
                if (strLine.startsWith("eth") && iTmpIndx > 0)// 如果以指定的字符串开头并包含指定的字符串
                {
                    strLine = strLine.substring(iTmpIndx + "hwaddr".length() + 1).trim();
                    sbMac.append(strLine.replaceAll(":", ""));// 拼接mac地址
                }
            }
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        finally
        {
            try
            {
                if (null != br)
                {
                    br.close();
                }
            }
            catch (IOException e1)
            {
                e1.printStackTrace();
            }
            br = null;
            process = null;
        }

        return sbMac.toString();
    }

    /**
     * 获取widnows网卡的mac地址.
     * 
     * @return mac地址
     */
    public static String getWindowsAllMACAddress()
    {
        StringBuffer sbMac = new StringBuffer();
        BufferedReader br = null;
        Process process = null;
        try
        {
            process = Runtime.getRuntime().exec("ipconfig /all");// windows下的命令,显示信息中包含有mac地址信息
            br = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String strLine = null;
            int iTmpIndx = -1;
            while ((strLine = br.readLine()) != null)
            {
                iTmpIndx = strLine.toLowerCase().indexOf("physical address");// 寻找标示字符串[physical address]
                if (iTmpIndx >= 0)// 找到了
                {
                    iTmpIndx = strLine.indexOf(":");// 寻找":"的位置
                    if (iTmpIndx >= 0)
                    {
                        strLine = strLine.substring(iTmpIndx + 1).trim();// 取出mac地址并去除2边空格
                        strLine = strLine.replaceAll("-", "");
                        sbMac.append(strLine);
                    }
                }
            }
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        finally
        {
            try
            {
                if (br != null)
                {
                    br.close();
                }
            }
            catch (IOException e1)
            {
                e1.printStackTrace();
            }
            br = null;
            process = null;
        }

        return sbMac.toString();
    }



}
分享到:
评论

相关推荐

    ListView上下翻页效果.zip

    ListView上下翻页效果

    Android项目之——漂亮的平台书架.zip

    Android项目之——漂亮的平台书架

    TestBrightness2.zip

    TestBrightness2

    00_Método_toBands.ipynb

    gee python 教程(西班牙语)

    (源码)基于Linux和GTK的系统监控与图形化显示.zip

    # 基于Linux和GTK的系统监控与图形化显示 ## 项目简介 本项目旨在通过分析Linux系统中的proc目录,提取并展示系统的关键信息,包括系统概况、进程信息和内存使用情况。通过使用GTK库,项目提供了一个图形化的用户界面,使用户能够直观地查看和监控系统的实时状态。 ## 项目的主要特性和功能 1. 系统信息展示 显示内核版本、系统启动时间等基本信息。 提供系统的主机名、CPU详细参数等信息。 2. 进程信息展示 显示所有进程的摘要信息,包括PID、CPU和内存使用率。 支持根据CPU使用率、内存使用率等参数对进程进行排序。 3. 内存信息展示 展示系统的内存使用情况,包括总内存、可用内存等详细参数。 4. 动态刷新 系统信息、进程信息和内存信息能够实时动态刷新,确保用户获取最新的系统状态。 5. 图形化界面 使用GTK库创建直观的图形界面,方便用户查看和操作。

    纯c语言迷宫源码.rar

    纯c语言迷宫源码

    c语言通讯录管理系统源码.rar

    c语言通讯录管理系统源码

    基于树莓派和GPT实现的多功能语音家庭助手

    功能列表 支持多种唤醒方式:语音唤醒,局域网消息唤醒,外设模块唤醒,远程唤醒 语音端点检测:自动检测语音截止点 语音识别:支持在线与离线双模式 文字转语音:舒适的人声 接续对话:完成交互对话全程只需唤醒一次 支持对话中断:可在任意时刻打断对话,重新提问 双引擎可选交互:接入GPT/星火大模型,支持聊天上下文,具有互联网搜索能力,并适时总结对话 聊天记忆:在程序结束后保存聊天内容,重新运行时自动加载 通知播报:手机上接收的消息(熄屏时)以自定义格式播报 音乐播放:获取QQ音乐个性推荐,支持调整音量,切换,暂停 音频闪避:在聊天交互/通知播报时自动减小音乐音量 日程设定:支持设定闹钟/倒计时,以及提醒事项 WebUI调参:可通过电脑和手机登录网页调参 外设控制:支持接入自定义设备(MQTT协议),配置相关文件可实现自动化 自动化智能家居:传入自定义状态,支持自定义场景触发自定义动作 远程控制:支持广域网MQTT设备控制 HomeAssistant:支持通过API控制HA下的设备

    c语言实现类似弹力球效果.rar

    c语言实现类似弹力球效果

    c语言实现的汉诺塔演示程序.rar

    c语言实现的汉诺塔演示程序

    c语言连连看游戏源码.rar

    c语言连连看游戏源码

    (源码)基于Arduino框架的自动称重系统.zip

    # 基于Arduino框架的自动称重系统 ## 项目简介 本项目是一个基于Arduino框架的自动称重系统。它利用Arduino硬件和Adafruit的ADS1115 ADC(模数转换器)库,实现了从负载单元读取重量数据并通过串行通信将数据传输到PC或其他设备的功能。项目还包含了LCD屏幕显示和LED指示灯的控制,以及对数据库的操作和Web交互的支持。 ## 项目的主要特性和功能 1. 硬件连接与通信: 项目使用了Arduino和ADS1115 ADC之间的串行通信,实现了从负载单元读取重量数据的功能。 2. 数据处理: 通过ADC读取的重量数据被处理并转换为可读的数值,然后通过串行端口发送到PC或其他设备。 3. 用户界面: 包含了LCD屏幕显示和LED指示灯的控制,用于实时显示重量数据或指示重量状态。 4. 数据库操作: 项目支持通过串行通信与数据库交互,实现数据的存储和查询。

    双鱼林jsp版超市信息管理系统.rar

    双鱼林jsp版超市信息管理系统

    C语言课程设计(成绩管理系统)源程序.zip

    C语言课程设计(成绩管理系统)源程序

    (源码)基于深度学习的投资策略优化系统.zip

    # 基于深度学习的投资策略优化系统 ## 项目简介 本项目是一个基于深度学习的投资策略优化系统,旨在通过分析和优化金融数据来提升投资决策的准确性和效率。项目涵盖了从数据获取、预处理、模型训练到结果评估的全流程,为投资者提供了一套完整的工具链。 ## 项目的主要特性和功能 1. 数据获取与处理 通过phase0.py获取金融数据。 使用phase1.py进行数据预处理和特征生成。 利用labelbasedgraph.py和labelbasedreturn.py进行数据标签计算。 2. 模型训练与评估 使用phase2.py进行模型训练和评估。 支持多种深度学习模型,如GraphCNN.py和MLP.py。 通过process.py管理模型训练和验证流程。 3. 结果可视化与分析 使用vision.py进行模型性能的可视化和评估。

    c语言课程设计-产品管理系统.zip

    c语言课程设计-产品管理系统

    技术资料分享BMP图片文件详解很好的技术资料.zip

    技术资料分享BMP图片文件详解很好的技术资料.zip

    C#ASP.NET手机端H5会议室预约系统源码 手机版会议室预约源码数据库 SQL2008源码类型 WebForm

    ASP.NET手机端H5会议室预约系统源码 手机版会议室预约源码 一、源码介绍 H5手机版会议室预约系统是一个高效快速便利的内部预约平台,让需要预定会议室的人能通过这个平 台发布预定,没有预定的人也能通过平台查看他人预定。通过后台添加账号即可登录预约平台,发布会 议室预定。 二、主要功能 后台管理包括 会议室信息管理,预约信息管理,用户信息管理。 前台手机版预约系统包括 日历查看预定信息,点击进入所选日期详细预约信息,预定会议室,我的预 约等功能模块。 后台采用模型管理功能可以使用后台对表结构进行维护,方便二次开发。 后台也可以增加部门,实现各部门之间管理员查看各自部门预约信息,用户信息等功能。

    http服务器的实现.zip

    http服务器的实现

Global site tag (gtag.js) - Google Analytics