2012-08-24 58 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