2012-08-24 59 views
0

我想連接在一個目錄中的幾個txt文件一起形成一個新的txt文件從一個Java程序使用DOS命令「copy * .txt NEW.txt」。DOS的'複製'命令從Java

如何導航DOS到我的目錄並執行命令?我很茫然。

在此先感謝!

+6

爲什麼要麻煩?爲什麼不直接複製Java文件? –

+3

你不是真的使用DOS,是嗎?實際上,我不認爲有一個適用於DOS的JVM。 –

+1

這是一個不好的想法,它使用'Runtime.exec',它仍然是一個合理的問題。值得不被低估。 –

回答

1

你可以使用:

Runtime.getRuntime().exec("cmd /c copy *.txt NEW.txt", 
    null, new File("<yourDirectory>")); 

甚至以爲我不建議這樣做。首先,要正確對待是非常棘手的。然後,它是特定於平臺的(僅適用於Windows)。相反,我會使用java.io.FileInputStream/java.io.FileOutputStream

+1

我認爲你必須執行cmd.exe並將複製字符串作爲參數傳遞。正如你所建議的那樣,使用Java進行工作要容易得多。 –

0

創建Process並在執行它之前設置其工作目錄。

1

調用DOS命令不是一個好主意。您的應用程序將變得非常依賴於環境,並且正確地檢測並從IO錯誤中恢復將更加困難。我建議你使用Apache Commons IOIOUtils。您可以通過反覆調用其中的一種方法輕鬆實現所需的功能。

如果您只需要將多個文件連接成一個流,則還可以使用SequenceInputStream