来自java的dos“copy”命令

hfsqlsce  于 2021-07-09  发布在  Java
关注(0)|答案(3)|浏览(323)

很难说出这里要问什么。这个问题模棱两可,含糊不清,不完整,过于宽泛,或者是修辞性的,不能以现在的形式得到合理的回答。有关澄清此问题以便重新打开的帮助,请访问帮助中心。
8年前关门了。
我想使用dos命令“copy*.txt new.txt”将单个目录中的几个txt文件连接在一起,从java程序中形成一个新的txt文件。
如何将dos导航到我的目录并执行命令?我不知所措。
提前谢谢!

vfh0ocws

vfh0ocws1#

调用dos命令不是个好主意。您的应用程序将变得非常依赖于环境,并且很难正确地检测io错误并从中恢复。我建议您使用apachecommons io中的ioutils。通过反复调用其中一个 copy 方法。
如果您只需要读取连接到单个流中的多个文件,还可以使用sequenceinputstream。

u0njafvf

u0njafvf2#

您可以使用:

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

我甚至认为我不建议这么做。首先,做对是很棘手的。然后,它是特定于平台的(仅适用于windows)。相反,我会用 java.io.FileInputStream / java.io.FileOutputStream

hkmswyz6

hkmswyz63#

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

相关问题