我想列出所有文件,並使用Java運行時將列表寫入.txt文件。而我這樣做:通過Java直接或間接訪問系統命令時出現問題?
File workDir = new File("/home/name/ghost/");
String cmd = "ls -l > data.txt";
Process pr = Runtime.getRuntime().exec(cmd, null , workDir);
它沒有工作,直到我用shell腳本更換cmd命令:
String cmd = "./shell.sh";
,這裏是什麼樣的shell腳本:
#!/bin/bash
ls -l > data.txt
exit 0
我想問問爲什麼我不能直接通過Java訪問系統命令?
爲什麼你使用系統命令來做這件事,當你可以使用java.io時,它不會是可移植的?當然,它比你使用的shell腳本更多的代碼,但是你已經接受了你開始編寫java代碼的那一刻。 – whaley 2011-02-15 03:10:08
我不知道你說的java.io。你能更詳細地回答嗎? – Silentbang 2011-02-15 15:06:16