InputStreamReaderでパイプで渡したテキストを、BufferedReaderで行ごとに出力する。
PipeCat.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class PipeCat {
public static void main(String[] args) {
InputStreamReader pr;
try {
pr = new InputStreamReader(System.in, "UTF-8");
BufferedReader br = new BufferedReader(pr);
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
javaコンパイルをした後、実行する。
$ ls
PipeCat.java
$ javac PipeCat.java
$ ls
PipeCat.class PipeCat.java
$ echo -e "aaa\nbbb" | java PipeCat
aaa
bbb