僕はJavaが一番得意な言語でLinuxサーバー上で仕事をすることが多いタイプのエンジニアな分、CLIで動くちょっとしたプログラムをJavaで作ることが多いんですが、Linxu(UNIX)、CLI(シェル)といえば小さなコマンドとパイプの文化。 Java+パイプでデータを受ける方法ってどうするんだっけ?(mainメソッドでString args[]として受け取るの?)と少しモヤモヤしてたんですが、先日 nabokov さんがAmazon Web Service / GlacierにデータをアップロードするCLIツールをJavaで実装し、パイプ経由でデータを受けっていたことを思い出し、GitHubにあるソースを見ながら、これを機会に整理してみることにしてみました。 パイプ経由で文字列を受け取って標準出力する簡単なサンプルはこうなります。 public class PipeJava { /**