Java 判断操作系统类型(适用于各种操作系统)
via: http://blog.csdn.net/isea533/article/details/8449919
/**
* 平台
* @author isea533
*/
public enum EPlatform {
Any("any"),
Linux("Linux"),
Mac_OS("Mac OS"),
Mac_OS_X("Mac OS X"),
Windows("Windows"),
OS2("OS/2"),
Solaris("Solaris"),
SunOS("SunOS"),
MPEiX("MPE/iX"),
HP_UX("HP-UX"),
AIX("AIX"),
OS390("OS/390"),
FreeBSD("FreeBSD"),
Irix("Irix"),
Digital_Unix("Digital Unix"),
NetWare_411("NetWare"),
OSF1("OSF1"),
OpenVMS("OpenVMS"),
Others("Others");
private EPlatform(String desc){
this.description = desc;
}
public String toString(){
return description;
}
private String description;
}
/**
* 操作系统类:
* 获取System.getProperty("os.name")对应的操作系统
* @author isea533
*/
public class OSinfo {
private static String OS = System.getProperty("os.name").toLowerCase();
private static OSinfo _instance = new OSinfo();
private EPlatform platform;
public OSinfo(){}
public static boolean isLinux(){
return OS.indexOf("linux")>=0;
}
public static boolean isMacOS(){
return OS.indexOf("mac")>=0&&OS.indexOf("os")>0&&OS.indexOf("x")<0;
}
public static boolean isMacOSX(){
return OS.indexOf("mac")>=0&&OS.indexOf("os")>0&&OS.indexOf("x")>0;
}
public static boolean isWindows(){
return OS.indexOf("windows")>=0;
}
public static boolean isOS2(){
return OS.indexOf("os/2")>=0;
}
public static boolean isSolaris(){
return OS.indexOf("solaris")>=0;
}
public static boolean isSunOS(){
return OS.indexOf("sunos")>=0;
}
public static boolean isMPEiX(){
return OS.indexOf("mpe/ix")>=0;
}
public static boolean isHPUX(){
return OS.indexOf("hp-ux")>=0;
}
public static boolean isAix(){
return OS.indexOf("aix")>=0;
}
public static boolean isOS390(){
return OS.indexOf("os/390")>=0;
}
public static boolean isFreeBSD(){
return OS.indexOf("freebsd")>=0;
}
public static boolean isIrix(){
return OS.indexOf("irix")>=0;
}
public static boolean isDigitalUnix(){
return OS.indexOf("digital")>=0&&OS.indexOf("unix")>0;
}
public static boolean isNetWare(){
return OS.indexOf("netware")>=0;
}
public static boolean isOSF1(){
return OS.indexOf("osf1")>=0;
}
public static boolean isOpenVMS(){
return OS.indexOf("openvms")>=0;
}
/**
* 获取操作系统名字
* @return 操作系统名
*/
public static EPlatform getOSname(){
if(isAix()){
_instance.platform = EPlatform.AIX;
}else if (isLinux()) {
_instance.platform = EPlatform.Linux;
}else if (isWindows()) {
_instance.platform = EPlatform.Windows;
}else if (isDigitalUnix()) {
_instance.platform = EPlatform.Digital_Unix;
}else if (isFreeBSD()) {
_instance.platform = EPlatform.FreeBSD;
}else if (isHPUX()) {
_instance.platform = EPlatform.HP_UX;
}else if (isIrix()) {
_instance.platform = EPlatform.Irix;
}else if (isMacOS()) {
_instance.platform = EPlatform.Mac_OS;
}else if (isMacOSX()) {
_instance.platform = EPlatform.Mac_OS_X;
}else if (isMPEiX()) {
_instance.platform = EPlatform.MPEiX;
}else if (isNetWare()) {
_instance.platform = EPlatform.NetWare_411;
}else if (isOpenVMS()) {
_instance.platform = EPlatform.OpenVMS;
}else if (isOS2()) {
_instance.platform = EPlatform.OS2;
}else if (isOS390()) {
_instance.platform = EPlatform.OS390;
}else if (isOSF1()) {
_instance.platform = EPlatform.OSF1;
}else if (isSolaris()) {
_instance.platform = EPlatform.Solaris;
}else if (isSunOS()) {
_instance.platform = EPlatform.SunOS;
}else{
_instance.platform = EPlatform.Others;
}
return _instance.platform;
}
public static void main(String[] args) {
System.out.println(OSinfo.getOSname());
}
}
相关推荐
这个“精选_判断操作系统及指定进程是32位还是64位_源码打包”资源提供了识别系统架构和进程位宽的方法。让我们详细探讨一下这个主题。 操作系统位数指的是其支持的处理器架构的位数,常见的有32位(x86)和64位(x...
本项目名为"java 解析Excel 并判断解析的数据类型__Eclipse工程",显然是一个使用Java语言在Eclipse环境下实现的程序,其主要功能是读取Excel文件并识别其中各单元格的数据类型。 首先,我们需要了解Java中用于解析...
3. **判断操作系统类型** 在某些情况下,可能需要根据操作系统类型执行不同的逻辑。可以使用`osName`的值进行条件判断,如: ```java if (osName.startsWith("Windows")) { // Windows平台相关代码 } else if ...
下面我们将深入探讨如何使用Java来判断操作系统类型,并详细解析给定的`judgeOS`项目。 首先,我们需要导入`java.lang.System`类。在Java源代码文件中,通常会包含如下导入语句: ```java import java.lang.System;...
在本项目中,我们主要关注的是一个基于Java实现的简单酒店管理系统。这个系统设计的核心目标是管理和处理酒店的房间预订和取消操作。以下是对每个关键文件的详细解释和相关知识点: 1. **Hotel.java** 这个文件...
Java光盘管理系统是一款基于Java语言开发的课程设计项目,旨在帮助用户进行光盘资源的管理。这个系统提供了基本的光盘信息录入、查询、编辑和删除功能,是学习Java编程和理解面向对象设计思想的良好实践案例。下面...
【java_图书管理系统】是一个基于Java技术开发的图书信息管理应用程序,它涵盖了图书管理的核心功能,包括基础数据维护和系统数据维护两大模块。基础数据维护主要涉及图书信息、图书类别等基本数据的增删改查;系统...
Java是一种广泛使用的高级编程语言,其“一次编写,到处运行”的特性使得开发者能够轻松地创建可在多种操作系统上运行的应用程序。对于象棋游戏这样的项目,Java提供了一个稳定且高效的环境,可以处理游戏逻辑、用户...
2) "五子棋java" 指出游戏类型是五子棋,且使用Java作为开发语言;3) "网络_五子棋_java" 指出游戏支持网络连接,允许玩家在网络环境下对战。 在压缩包内的文件名中,"www.pudn.com.txt" 可能是一个文档,记录了...
Java的跨平台特性使得游戏可以在不同的操作系统上运行,大大拓宽了游戏的受众范围。在"ppq_java_speed353_"源码中,我们可以看到Java如何通过JavaFX或Swing等图形用户界面库来构建游戏的视觉呈现,实现动态且流畅的...
试题可能包含单选题、多选题、判断题、填空题、简答题等多种类型,需要有相应的数据结构来存储。同时,试题库需要具备搜索、分类、难度分级等功能,便于管理。 五、安全性 考试系统的安全性不容忽视,包括防止作弊...
3. **数值处理**:计算过程会涉及整数和浮点数的加减乘除,需要理解Java中的数据类型,如int、double等,以及相关的算术运算符。 4. **用户输入与输出**:在Java中,通常使用Scanner类来获取用户输入,System.out....
"场景识别"意味着系统不仅需要识别车牌,还要理解拍摄环境,比如判断是否在停车场、道路监控等不同场景,这可能涉及到更多的图像理解和上下文分析。这可能需要用到额外的图像分类模型或者特征提取技术。 考虑到这是...
在类型推断方面,Java 7引入了钻石操作符`<>`,简化了泛型实例化过程。例如,创建一个空的ArrayList之前需要写`new ArrayList()`,现在可以简化为`new ArrayList()`,编译器会自动推断出类型。 文件I/O操作在Java 7...
Android是由Google开发的开源移动操作系统,它基于Linux内核,广泛应用于智能手机和平板电脑。开发者通常使用Java语言和Android Studio IDE来构建Android应用。在这个项目中,虽然使用的是Eclipse,但核心编程语言...
Java的I/O系统基于流,提供了处理文件、网络和系统输入输出的方法。`java.io`包包含了各种输入输出流类。 7. **集合框架** Java集合框架包括接口(如List、Set、Map)和实现类(如ArrayList、HashSet、HashMap)...
Java的条件判断语句和循环结构可以帮助实现这一功能,同时,数据结构如队列或栈可以用来跟踪和更新员工的奖惩情况。 5. **培训管理(Trainmanage.java)** 培训管理可能包括课程安排、员工报名、培训效果评估等...
复合类型则涵盖了类,如`String`用于存储文本字符串,`ArrayList`和`LinkedList`用于集合操作,以及`HyperArray`用于系统动力学模型中的多维数组。 #### 表达式与运算符解析 - **算术运算**:包括加(`+`)、减(`-`)...
例如,通过以下C++代码可以判断操作系统类型: ```cpp OSVERSIONINFOEX osvi; ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); GetVersionEx(...