java判断操作系统

freebsd和windows的操作系统的路径不太一样,

.class.getResource获得的路径分别是:

file:/usr

file:/d:/

在freebsd中/usr/这样的路径是郑州的,在windows中要d:/

截取路径一个是subscript(5)

一个是subscript(6)

这样就有必要先判断下是什么操作系统后再做截取



获取系统属性
系统属性是指与用户程序相关的操作系统配置信息以及软件信息。通常与用户程序相关的属性关键字包括:
●file.separator : 文件分隔符, Windows环境下为“\",Unix环境下为“/”;
●user.home :用户主目录;
●java.home :Java实时运行环境的安装目录;
●java.ext.dirs :JDK的安装目录;
●os.name :操作系统名称;
●user.name :用户登录名称;
●os.version :操作系统版本;
●path.separator :当前操作系统的路径分隔符;
●user.dir :当前用户程序所在目录。

Properties prop = System.getProperties();

String os = prop.getProperties("os.name")

os.startWith("win") || os.startWith("Win") == windows操作系统

// http://topic.csdn.net/t/20060825/10/4974680.html http://xs.tzblog.com/item/1400

XXXClass.class.getResourceAsStream("path.properties") 获取当前目录下的此文件



import java.net.URL;

public class OS {
public static final String CLASS_PATH;
public static final boolean isLinux;
static {
URL resource = OS.class.getResource("OS.class");
String classPath = resource.getPath();
String className = OS.class.getName().replace('.', '/') + ".class";
String classesPath = classPath.substring(0, classPath.indexOf(className));

if (System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") != -1&& classesPath.startsWith("/")) {
classesPath = classesPath.substring(1);
isLinux = false;
} else {
isLinux = true;
}
CLASS_PATH = classesPath;
}

public static void main(String arg[]){

System.out.println(OS.isLinux);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值