我希望能够使用相同的Java应用程序在Windows系统上运行.sh和.bat文件。 有没有办法做到这一点? 提前谢谢。
答案 0 :(得分:4)
有一个内置的api用于在Java中查找操作系统。
System.getProperty("os.name");
。
然后,您可以撰写case
或if else
。像...
private String os = System.getProperty("os.name").toLowerCase();
if (os.contains("windows"){
p = Runtime.getRuntime().exec("your batch file");
p.waitFor();
} else if (os.contains("mac"){
p = Runtime.getRuntime().exec("your sh file or dmg");
p.waitFor();
} else {
p = Runtime.getRuntime().exec("your .sh file");
p.waitFor();
}
答案 1 :(得分:0)
/**
* @Reff http://www.tutorialspoint.com/java/lang/system_getproperties.htm
*/
import java.lang.String;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String os = System.getProperty("os.name").toString();
System.out.println("OS: " + os );
if("Windows 8".equals(os)) {
System.out.println("Windows 8");
} else {
System.out.println("Others");
}
}
}