如何在Java中将一个文件的输出传输到另一个文件的输入?

时间:2014-02-23 06:32:06

标签: java io stdout stdin piping

有人能告诉我一些简单的代码,它将一个java文件的输出传递给另一个Java文件的输入吗?

假设您有一个名为hello.java的文件,只是输出“hello”。我如何将这个输出从命令行传输到另一个名为addWorld.java的Java程序中,该程序只是将“world”添加到hello.java输入的末尾,然后在控制台屏幕上输出“hello world”?

我确信这很简单,但我环顾四周,仍然不明白该怎么做。我试图做一个尽可能简单的例子,因此没有编写很多代码,所以我只能理解在一般情况下要做什么。谢谢。

2 个答案:

答案 0 :(得分:0)

您可能希望使用运行时启动第二个java程序,并将第一个命令的输出添加为运行第二个命令的参数,因为我试过Windows不喜欢使用其他程序。< / p>

快速操作方法:https://stackoverflow.com/a/8496537/3342157
有关运行时的信息:http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html

答案 1 :(得分:-1)

在Windows上,在命令行中,使用重定向运算符(>

完成此操作

这样做:

java hello > java addWorld

这会将hello.java的stdout(使用System.out打印的任何内容)作为命令行参数(stdin部分添加到addWorld.java的argspublic static void main(String[] args)

编辑: 管道符(|)通过程序过滤程序的stdout。如果sort根据其stdin按字母顺序对节目进行排序,请输入以下内容:

simon-answers.txt | sort > simon-answers-sorted.txt

进入Windows命令提示符,将simon-answers.txt(“Simon说”命令)和管道(|)中的行通过sort然后重定向(> )他们到文本文件simon-answers-sorted.txt