DOS コマンド「copy *.txt NEW.txt」を使用して、Java プログラム内から新しい txt ファイルを形成するために、1 つのディレクトリ内の複数の txt ファイルを連結したいと考えています。
DOS を自分のディレクトリに移動してコマンドを実行するにはどうすればよいですか? 私は途方に暮れています。
前もって感謝します!
DOS コマンドを呼び出すのは得策ではありません。アプリケーションは環境に大きく依存するようになり、IO エラーを適切に検出して回復することが非常に難しくなります。Apache Commons IOのIOUtilsを使用することをお勧めします。そのメソッドの 1 つを繰り返し呼び出すことで、必要なものを簡単に実現できます。copy
単一のストリームに連結された複数のファイルを読み取る必要がある場合は、 SequenceInputStreamを使用することもできます。
あなたが使用することができます:
Runtime.getRuntime().exec("cmd /c copy *.txt NEW.txt",
null, new File("<yourDirectory>"));
私はそれをすることを提案しないと思っていました。まず、正しくするのは難しいです。次に、プラットフォーム固有です (Windows でのみ動作します)。代わりに、java.io.FileInputStream
/を使用しますjava.io.FileOutputStream
を作成し、Process
実行する前にその作業ディレクトリを設定します。