Java:从未命名管道读取

Java:从未命名管道读取,java,pipe,Java,Pipe,我有一个命令,它给出了一个文件列表(比如find) 对于这些文件中的每一个,我都想用Java做一些事情: find ./files <some restrictions> | java -jar processor.jar find./files | java-jar processor.jar 我怎样才能从这个无名的管道中阅读呢?真的很简单;在shell中使用管道意味着管道左侧流程的标准输出是管道右侧流程的标准输入将读取的内容 因此,Java进程只需要读取stdin,而在Jav

我有一个命令,它给出了一个文件列表(比如find)

对于这些文件中的每一个,我都想用Java做一些事情:

find ./files <some restrictions> | java -jar processor.jar
find./files | java-jar processor.jar

我怎样才能从这个无名的管道中阅读呢?

真的很简单;在shell中使用管道意味着管道左侧流程的标准输出是管道右侧流程的标准输入将读取的内容

因此,Java进程只需要读取stdin,而在Java中,这就是



至于使用
find
命令,这真的很好;但是如果你使用java 7 +,你可能会考虑使用一个替代的../p>可能的Simulink副本。In是你的答案。但是,当你没有程序的时候,我如何避免程序从STDIN中读取?好,你不能用纯java代码来检测你是否从管道读取;即使你可以,我也不会推荐。为什么不让您的程序使用选项来告诉它应该如何运行,或者识别参数(例如,习惯上使用
-
作为参数来告诉程序从stdin读取)?