最近一段时间写一个授权的程序,需要获取很多信息来保证程序不能随意复制使用,必须经过授权才可以。
为了限制用户使用的操作系统,必须有统一的方法来获取才可以。
在JAVA中,通过System.getProperty("os.name")来获取,通过参考:http://lopica.sourceforge.net/os.html 来实现各操作系统的判断。
针对windows系统,这里不具体判断是那个版本,如果有需要,可以在判断出windows之后,继续判断,判断需要考虑java的版本,版本不同,结果也不一样。
下面上代码:
1.枚举类型:EPlatform
- /**
- * 平台
- * @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;
- }
2.操作系统类:OSinfo
我使用的Windows 7 识别出来:Windows ,如果大家使用别的操作系统,希望能把操作系统和结果在这里留言写下来。
如果结果错误,你可以使用下面的代码获取你的操作系统信息:
- class WhatOS
- {
- public static void main( String args[] )
- {
- System.out.println( System.getProperty("os.name") );
- System.out.println( System.getProperty("os.version") );
- System.out.println( System.getProperty("os.arch") );
- }
- }