[英]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.