如何管道流到java程序?

时间:2012-10-07 08:56:49

标签: java cmd

在cmd.exe下,我可以这样做:

dir *.*|grep ....

我想对java程序执行此操作

dir *.i|java test 

我应该在java测试类中做些什么?

2 个答案:

答案 0 :(得分:1)

您将处理System.in流并捕获/处理源程序(在这种情况下为dir)提供的任何内容。

答案 1 :(得分:1)

处理System.in课程中的Test,以下是示例:

public class Test {
    public static void main(String[] args) {
        InputStream in = System.in;
        try {
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            int next = in.read();
            while (next > -1) {
                bos.write(next);
                next = in.read();
            }
            bos.flush();
            byte[] bytes = bos.toByteArray();
            System.out.println("output:" + new String(bytes));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}