Java的SystemInfoUtil类

阅读: 评论:0

Java的SystemInfoUtil类

Java的SystemInfoUtil类

本文由黑壳网发布

本文来源Java的SystemInfoUtil类 - 黑壳网

壳叔搞笑一刻

单位有个女同事,平时爱占小便宜。
今天一上班,辫子上绑着根捆蛋糕的绳子。
我们问她:今天怎么绑这么一根东西。
她回答到:今天我生日,给你们提个醒,别忘了给我发红包。
我去,早知道不问她了……

今天闲着没事,正好公司项目后台想显示一下服务器的各种信息,感觉不至于那么low,所以根据网上的一些资料,整理出这个么一个工具类。
其实代码 so easy 重在理解。就像解决错误一样,你不能一味的去各种试一试改一改,你得去了解这个错误,才能对症下药。

工具类简单说明
getSystemInfo() 获取系统环境等相关信息
其实获取服务器环境的信息代码简单,大多数都是从Java的System 这个大佬身上获取出来的。没什么可说的只要根据需求取值就可以了。不一定所有的都会用上所以根据需要适当调整

getDatabaseMajorVersion() 获取数据库的主要版本等信息
通过jdbc 读取数据库数据信息~ 只不过这里的以下代码是从jdbc.properties 配置文件中获取的, 根据自己这个地方自己进行适当的修改。

getProjectInfo() 获取项目版本信息
这个地方是直接读取配置文件,将相关的信息读取出来。

    /*** 从配置文件读取 链接数据库信息* 然后建立连接* 用适当的驱动程序连接到DBMS,看下面的代码[自行修改您所连接的数据库相关信息]:*/props.load(ClassLoader().getResourceAsStream("jdbc.properties"));String url = Property("jdbcUrl");String user = Property("username");String password = Property("password");String driver = Property("driverClasss");

详细代码

SystemInfoUtil类import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import java.io.IOException;
import flect.Method;
import java.InetAddress;
import java.UnknownHostException;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.Properties;
import java.util.logging.SimpleFormatter;/*** 获取系统信息以及服务器信息* Created by kzyuan on 2017/6/22.*/
public class SystemInfoUtil {private static Logger logger = Logger(SystemInfoUtil.class);/*** 服务器环境相关信息** @return*/public Map getSystemInfo() {Map<String, String> map = new HashMap<String, String>();/*** java.version Java 运行时环境版本*/map.put("java_version", Property("java.version"));/*** java.vendor Java 运行时环境供应商*/map.put("java_vendor", Property("java.vendor"));/*** java.vendor.url Java 供应商的 URL*/map.put("java_vendor_url", Property("java.vendor.url"));/*** java.home Java 安装目录*/map.put("java_home", Property("java.home"));/*** java.vm.specification.version Java 虚拟机规范版本*/map.put("java_vm_specification_version", Property("java.vm.specification.version"));/*** java.vm.specification.vendor Java 虚拟机规范供应*/map.put("java_vm_specification_vendor", Property("java.vm.specification.vendor"));/***  java.vm.specification.name Java 虚拟机规范名称*/map.put("java_vm_specification_name", Property("java.vm.specification.name"));/*** java.vm.version   Java 虚拟机实现版本*/map.put("java_vm_version", Property("java.vm.version"));/*** java.vm.vendor   Java 虚拟机实现供应商*/map.put("java_vm_vendor", Property("java.vm.vendor"));/*** java.vm.name   Java 虚拟机实现名称*/map.put("java_vm_name", Property("java.vm.name"));/*** java.specification.version   Java 运行时环境规范版本*/map.put("java_specification_version", Property("java.specification.version"));/*** java.specification.vendor   Java 运行时环境规范供应商*/map.put("java_specification_vendor", Property("java.specification.vendor"));/*** java.specification.name   Java 运行时环境规范名称*/map.put("java_specification_name", Property("java.specification.name"));/*** java.class.version   Java 类格式版本号*/map.put("java_class_version", Property("java.class.version"));/*** java.class.path   Java 类路径*/map.put("java_class_path", Property("java.class.path"));/*** java.library.path   加载库时搜索的路径列表*/map.put("java_library_path", Property("java.library.path"));/*** pdir   默认的临时文件路径*/map.put("java_io_tmpdir", Property("pdir"));/*** javapiler   要使用的 JIT 编译器的名称*/map.put("java_compiler", Property("javapiler"));/*** dirs   一个或多个扩展目录的路径*/map.put("java_ext_dirs", Property(&#dirs"));/*** os.name   操作系统的名称*/map.put("os_name", Property("os.name"));/*** os.arch   操作系统的架构*/map.put("os_arch", Property("os.arch"));/*** os.version   操作系统的版本*/map.put("os_version", Property("os.version"));/*** file.separator   文件分隔符(在 UNIX 系统中是“/”)*/map.put("file_separator", Property("file.separator"));/*** path.separator   路径分隔符(在 UNIX 系统中是“:”)*/map.put("path_separator", Property("path.separator"));/*** line.separator   行分隔符(在 UNIX 系统中是“/n”)*/map.put("line_separator", Property("line.separator"));/*** user.name   用户的账户名称*/map.put("user_name", Property("user.name"));/*** user.home   用户的主目录*/map.put("user_home", Property("user.home"));/*** user.dir   用户的当前工作目录*/map.put("user_dir", Property("user.dir"));/*** file_encoding 获取JVM编码格式*/map.put("file_encoding", Property(&#ding"));/***  获取操作系统的编码*/map.put("sun_jnu_encoding", Property("ding"));InetAddress netAddress = getInetAddress();/***  host_ip 获取本地IP*/map.put("host_ip", getHostIp(netAddress));/*** host_name 获取本地主机名*/map.put("host_name", getHostName(netAddress));Locale locale = Default();/*** language 获取语言*/map.put("language",Language());/*** country 获取语言国家*/map.put("country",Country());return map;}/*** 获取本地主机** @return*/public static InetAddress getInetAddress() {try {LocalHost();} catch (UnknownHostException e) {("UnknownHostException", e);}return null;}/*** 通过InetAddress获取本地Ip** @param netAddress* @return*/public static String getHostIp(InetAddress netAddress) {if (null == netAddress) {return null;}String ip = HostAddress();return ip;}/*** 通过InetAddress获取本地主机的名字** @param netAddress* @return*/public static String getHostName(InetAddress netAddress) {if (null == netAddress) {return null;}String name = HostName();return name;}/*** 通过Jdbc的方式获取数据库的版本** @return*/protected Map getDatabaseMajorVersion() {Map<String, String> map = new HashMap<String, String>();PropertyUtil propertyUtil = new PropertyUtil();Properties props = new Properties();try {/*** 从配置文件读取 链接数据库信息* 然后建立连接* 用适当的驱动程序连接到DBMS,看下面的代码[自行修改您所连接的数据库相关信息]:*/props.load(ClassLoader().getResourceAsStream("jdbc.properties"));String url = Property("jdbcUrl");String user = Property("username");String password = Property("password");String driver = Property("driverClasss");// 加载驱动程序// 下面的代码为加载JDBD-ODBC驱动程序Class.forName(driver);// 用url创建连接Connection con = Connection(url, user, password);// 获取数据库的信息DatabaseMetaData dbMetaData = MetaData();/*** 返回一个String类对象,代表数据库的URL*/map.put("URL", URL());/*** 返回连接当前数据库管理系统的用户名。*/map.put("userName", UserName());/*** 返回一个boolean值,指示数据库是否只允许读操作。*/map.put("isReadOnly", dbMetaData.isReadOnly() + "");/*** 返回数据库的产品名称。*/map.put("DatabaseProductName", DatabaseProductName());/*** 返回数据库的版本号。*/map.put("DatabaseProductVersion", DatabaseProductVersion());Method gdbmvMethod = Method("getDatabaseMajorVersion", null);/*** 数据库真正的版本号*/map.put("version", gdbmvMethod.invoke(dbMetaData, null)+"");/*** 返回驱动驱动程序的名称。*/map.put("DriverName", DriverName());/*** 返回驱动程序的版本号。*/map.put("DriverVersion", DriverVersion());// 关闭连接con.close();} catch (Exception e) {// 输出异常信息("Exception", e);}return map;}/*** 项目信息** @return*/protected Map getProjectInfo() {Map<String, String> map = new HashMap<String, String>();Properties props = new Properties();try {/*** 从配置文件中获取相关网站信息*/props.load(ClassLoader().getResourceAsStream("common.properties"));} catch (IOException e) {("IOException", e);}/*** 项目版本*/map.put("project_version",Property("project.version"));/*** 项目编码*/map.put("project_build_sourceEncoding",Property("project.build.sourceEncoding"));SimpleDateFormat time=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");/*** 项目启动日期*/map.put("start_date",time.format(new Date()));return map;}}

代码下载地址 SystemInfoUtil.java

本文发布于:2024-02-04 21:53:59,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170717269159947.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:Java   SystemInfoUtil
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23