我想使用 DOS 命令“copy *.txt NEW.txt”将单个目录中的几个 txt 文件连接在一起,以从 java 程序中形成一个新的 txt 文件。
如何将 DOS 导航到我的目录并执行命令?我很茫然。
提前致谢!
调用 DOS 命令不是一个好主意。您的应用程序将极大地依赖环境,并且更难以正确检测 IO 错误并从中恢复。我建议您使用来自Apache Commons IO的IOUtils。通过重复调用其中一种方法,您可以轻松实现所需的功能。copy
如果您只需要读取连接成单个流的多个文件,您也可以使用SequenceInputStream。
你可以使用:
Runtime.getRuntime().exec("cmd /c copy *.txt NEW.txt",
null, new File("<yourDirectory>"));
甚至认为我不会建议这样做。首先,做对是很棘手的。然后,它是特定于平台的(仅适用于 Windows)。相反,我会使用java.io.FileInputStream
/java.io.FileOutputStream
在执行它之前创建一个Process
并设置它的工作目录。