我想将单个目录中的几个txt文件连接在一起,使用DOS命令“copy * .txt NEW.txt”在java程序中形成一个新的txt文件。
如何将DOS导航到我的目录并执行命令?我很茫然。
提前致谢!
答案 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
并在执行之前设置其工作目录。