首页 > 编程语言 >Java_判断操作系统类型

Java_判断操作系统类型

时间:2023-04-14 11:03:33浏览次数:43  
标签:判断 Java 操作系统 indexOf platform static EPlatform OS public


Java 判断操作系统类型(适用于各种操作系统)

/**
 * 平台
 * @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());
    }
}

标签:判断,Java,操作系统,indexOf,platform,static,EPlatform,OS,public
From: https://blog.51cto.com/u_16070335/6189672

相关文章

  • Java基础---数据类型
    数据类型Java的两大数据类型:内置数据类型、引用数据类型内置数据类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。byte、short、int、long、float、double、char、boolean基本类型范围byte:(8位)-128~127short:(26......
  • JavaScript 之 confirm,alert,prompt
    //confirmfunctiondisp_confirm(){varr=confirm("Pressabutton!")if(r==true){alert("YoupressedOK!")}else{alert("YoupressedCancel!")}}//alert<script>window.alert("确......
  • Java_打包
     发布打war包dos命令:jarcvfname.war. war包是带jsp页面,jar包不带jsp页面的. 在JDK的bin目录下提供了打包程序jar.exe。如果要展开helloapp.war文件,命令为:jarxvfhelloapp.war  假定有一个Web应用:C:\myHomemyHome/WEB-INF/……myHome/files/……myHome/image/……myHome/......
  • java.text.ParseException: Unparseable date: "11/10/10" at java.text.DateFormat.
    使用DateFormat的使用,然后自己试了下,结果出来个错误:java.text.ParseException:Unparseabledate:"11/10/10" atjava.text.DateFormat.parse(DateFormat.java:337)下面是Date的输出比较:Datedate=newDate();System.out.println(date.toString());//WedNov1010:15:05C......
  • JavaScript 之 JSON [1]介绍、语法、值
    JavaScript之JSON[1]介绍、语法、值1、简介JSON指的是JavaScript对象表示法(JavaScriptObjectNotation)JSON是轻量级的文本数据交换格式JSON使用Javascript语法来描述数据对象,但JSON仍独立于语言和平台。JSON解析器和JSON库支持许多不同的编程语言。目前非常......
  • 聊聊Java中的mmap
    mmap是什么当我们读取或修改大文件时,传统的文件I/O操作可能会变得很慢,这时候mmap就可以派上用场了。mmap(Memory-mappedfiles)是一种在内存中创建映射文件的机制,它可以使我们像访问内存一样访问文件,从而避免频繁的文件I/O操作。使用mmap的方式是在内存中创建一个虚拟地址,然后将文......
  • 使用java.util.zip对生成的字节数组输出文件流 进行打包压缩(单个、批量),并返回压缩包
    废话不多说直接上代码 packagegov.test.util;importjava.io.ByteArrayInputStream;importjava.io.ByteArrayOutputStream;importjava.io.IOException;importjava.util.List;importjava.util.Map;importorg.apache.tools.zip.ZipEntry;importorg.apache.tools.zip.Zip......
  • kettle从入门到精通 第十二课 kettle java代码过滤记录、利用Janino计算Java表达式
    1、下图通过简单的示例讲解了根据java代码过滤记录和利用Janino计算Java表达式两个组件。   2、根据java代码过滤记录1)步骤名称:自定义2)接收匹配的行的步骤(可选):下面条件(java表达式)执行结果为true时流转的步骤3)接收不匹配的行的步骤(可选):下面条件(java表达式)执行结果......
  • java.lang.OutOfMemoryError- unable to create new native thread 问题排查
    问题描述最近连续两天大约凌晨3点,线上服务开始异常,出现OOM报错。且服务所在的物理机只能ping通,但是无法登录。报错信息如下:ERROR04-1203:01:43,930[DefaultQuartzScheduler_Worker-3]JobRunShell[JobRunShell]:211JobthrewanunhandledException:java.lang.OutOfMemory......
  • 02_JAVA匿名内部类
    匿名对象就是没有名字的对象匿名对象的应用场景A:调用方法,仅仅只调用一次的时候。(调用多次的时候不适合,且匿名对象调用完毕就是垃圾,可以被回收器回收)//newStudent().show();B:匿名对象可以作为实际参数传递。StudentDemosd=newsStudentDemo();//Studentss=newSt......