簡體   English   中英

使用java從e​​clipse運行Mac OSX命令

[英]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)。 任何人都知道為什么?

你需要使用trycatch 但是,你的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM