[英]Running Mac OSX commands from eclipse using java
我正在尝试创建一个简单的java程序,使用终端命令取消隐藏osx上的〜\\ Library \\文件夹。 据我所知,从java运行系统命令的代码是Runtime.getRuntime()。exec(); 并且在我查找的每个地方都列出了这样的内容。
但是,我的程序不起作用。 主要方法如下。
public static void main(String[] args) throws IOException {
String[] noHide = {"chflags"," " ,"nohidden"," ", "~/Library/"};
try {
Runtime.getRuntime().exec(noHide);
System.out.println("library unhidden");
} catch (Exception e ) {
e.printStackTrace();
}
}
该程序不会抛出任何异常,编译并执行正常,但Library文件夹根本不会取消隐藏。 无论我重新格式化cmd String。 以下所有格式均无效
String noHide = "chflags nohidden ~/Library";
String[] noHide = {"chflags", "nohidden","~/Library"};
String[] noHide = {"chflags"," " ,"nohidden"," ", "~/Library/"};
如果我删除它们会抛出异常(好吧,不是String数组对象)。 我可以从osx终端运行命令(chflags noHidden~ / Library)。 任何人都知道为什么?
你需要使用try
和catch
。 但是,你的main
应该是这样的:
public static void main(String[] args) {
String[] noHide = {"chflags", "nohidden","~/Library"};
try {
Runtime.getRuntime().exec(noHide);
}
catch (Exception e) {
}
}
基本上,您不需要throws IOException
。 这对我有用,所以如果它仍然无法在您的程序中运行,那么设置某些内容的方式可能会出现更大的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.