我想連接在一個目錄中的幾個txt文件一起形成一個新的txt文件從一個Java程序使用DOS命令「copy * .txt NEW.txt」。DOS的'複製'命令從Java
如何導航DOS到我的目錄並執行命令?我很茫然。
在此先感謝!
我想連接在一個目錄中的幾個txt文件一起形成一個新的txt文件從一個Java程序使用DOS命令「copy * .txt NEW.txt」。DOS的'複製'命令從Java
如何導航DOS到我的目錄並執行命令?我很茫然。
在此先感謝!
你可以使用:
Runtime.getRuntime().exec("cmd /c copy *.txt NEW.txt",
null, new File("<yourDirectory>"));
甚至以爲我不建議這樣做。首先,要正確對待是非常棘手的。然後,它是特定於平臺的(僅適用於Windows)。相反,我會使用java.io.FileInputStream
/java.io.FileOutputStream
我認爲你必須執行cmd.exe並將複製字符串作爲參數傳遞。正如你所建議的那樣,使用Java進行工作要容易得多。 –
創建Process
並在執行它之前設置其工作目錄。
調用DOS命令不是一個好主意。您的應用程序將變得非常依賴於環境,並且正確地檢測並從IO錯誤中恢復將更加困難。我建議你使用Apache Commons IO的IOUtils。您可以通過反覆調用其中的一種方法輕鬆實現所需的功能。
如果您只需要將多個文件連接成一個流,則還可以使用SequenceInputStream。
爲什麼要麻煩?爲什麼不直接複製Java文件? –
你不是真的使用DOS,是嗎?實際上,我不認爲有一個適用於DOS的JVM。 –
這是一個不好的想法,它使用'Runtime.exec',它仍然是一個合理的問題。值得不被低估。 –