我想編寫一個Java程序來刪除我的主目錄下的〜12個目錄或文件。我能夠做到這一點通過使用如何從Java運行Linux「cd」命令?
Process proc = Runtime.getRuntime().exec("rm -rf *path*")
但我必須運行此命令12次或我可以保持它在循環。我真正想要的是在我的主目錄中有一個文件,其中包含要刪除的所有目錄和文件的名稱。我的Java程序應該進入主目錄,讀取文件並刪除所有指定的文件。
我被困在第一步 - 我無法cd到主目錄。請讓我知道我該怎麼做到這一點。
非常感謝您的回覆。
但是,在這裏我並不是真的想使用Java util類,而是想學習一種使用它可以在我的Java類中運行Linux命令的方法。作爲部署實習生,每次在爲客戶部署新環境之前都必須重置環境。爲此,我反覆使用一些基本的Linux命令。我可以編寫一個shell腳本來執行此操作,但是現在我想編寫一個Java類,在其中可以放入所有這些Linux命令並從一個類運行。
,我用的命令是:
- 殺死它們由管理員纔開始所有Java進程 - 爲了這個,我需要使用多個Linux與「管」命令
- 刪除所有12目錄/文件從主目錄
- 停止一些服務(如siebel等) - 爲此我需要去特定的目錄下運行./shutdown.sh或./stop_ns等
- 運行一些數據庫腳本 - 重置數據庫模式
- 再次啓動服務 - 同步驟,除了這一次,我需要運行./start_ns等
我真的很感激,如果你可以讓我知道 一個。如何使用Java代碼 b導航到目錄中。如何使用Java代碼使用管道運行多個Linux命令
任何你不使用['File.delete']的原因(http://download.oracle.com/javase/6/ docs/api/java/io/File.html#delete())而不是脫殼? (你應該) –
請看看我編輯的帖子。我提到了我需要做的事情。 – Jodi
Jodi,我建議或者a)編寫一個shell腳本來做到這一點(我知道你說你不想,爲什麼?),應該很容易做到。 2)編寫一個java程序來做到這一點在java中,作爲[Jon Skeet](http://stackoverflow.com/a/7715879/1075247)sugests。 *很少*你需要從一個jar中運行一個shell命令,除非它們是一個預先編寫的shell腳本的一部分,它是作爲一個更大的java程序的一部分運行的(否則,只需編寫一個shell腳本!)。那麼,爲什麼你從.jar運行shell命令呢? – Pureferret