Eclipse 管道 stdout 到另一个项目



我在日食中有两个项目;

项目 A 不断流式传输(当前为 STDOUT(输出(流式传输的每个新值都由换行符分隔(

项目B我想接受这个,并用它做一些事情等等,

我发现这样做的唯一方法是写入文件;我宁愿避免这种情况,因为有大量的数据(至少对于我的资源而言(,其中大部分最终都会被扔掉。

任何建议表示赞赏,谢谢!

有几种方法可以解决这个问题:

  1. 使用TCP套接字 - 并不难实现,并使您能够远程工作(在不同的计算机上运行每个程序(。
  2. 按程序 A 创建分段文件并与程序 B 一起使用它们 - 细微差别有点棘手,但如果适合您的需求,总的来说是一种强大的技术
  3. 使用操作系统管道 - 根据您当前的情况最简单的方法

我将演示选项 3。

计划A.java:

for (int i=0; i<10; i++) {
    System.out.println(i);
}

计划B.java:

java.io.BufferedReader br = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
String input;
while((input=br.readLine())!=null){
    System.out.println("----" + input);
}

之后,您可以在命令行执行此操作:

java -cp <program_A_classpath> ProgramA | java -cp <program_B_classpath> ProgramB

输出将是:

----0
----1
----2
----3
----4
----5
----6
----7
----8
----9

相关内容

  • 没有找到相关文章

最新更新