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);
}
}
.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);
}
}