来自Java的DOS'复制'命令

时间:2012-08-24 19:07:55

标签: java copy dos

我想将单个目录中的几个txt文件连接在一起,使用DOS命令“copy * .txt NEW.txt”在java程序中形成一个新的txt文件。

如何将DOS导航到我的目录并执行命令?我很茫然。

提前致谢!

3 个答案:

答案 0 :(得分:1)

您可以使用:

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

甚至认为我不建议那样做。首先,要做到正确是件棘手的。然后,它是特定于平台的(仅适用于Windows)。相反,我会使用java.io.FileInputStream / java.io.FileOutputStream

答案 1 :(得分:1)

调用DOS命令不是一个好主意。您的应用程序将极大地依赖于环境,并且从IO错误中正确检测和恢复将变得更加困难。我建议您使用IOUtils中的Apache Commons IO。您可以通过重复调用其中一个copy方法轻松实现所需。

如果您只需要读取连接到单个流中的多个文件,也可以使用SequenceInputStream

答案 2 :(得分:0)

创建Process并在执行之前设置其工作目录。