標準入出力/パイプによるデータを受け取る方法
の編集
Top
/
標準入出力
/
パイプによるデータを受け取る方法
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
AutoTicketLinkName
FrontPage
MenuBar
WikiWikiWeb
お約束
その他
その他/JavaでBeep(Bell)を鳴らすサンプルソース
その他/UnsupportedClassVersionErrorの原因及び対処法
その他/シェルに終了コードを渡す方法
システム関連
システム関連/Javaの情報を取得する
システム関連/Javaを実行するOS情報を取得する
ソート
ソート/ArrayListのソートサンプル
ソート/独自クラスでキー指定のソートサンプル
ソート/独自クラスのソートサンプル
ネットワーク
ネットワーク/HTTP(GET)サンプルソース
ファイル操作
ファイル操作/basename,dirnameのサンプル
ファイル操作/CSV取込みサンプルを作ってみた
ファイル操作/サブディレクトリ内を含むファイル一覧を取得
ファイル操作/テキストファイルの出力
ファイル操作/テキストファイルの読み込み
ファイル操作/ディレクトリ配下のファイルを削除する
ファイル操作/デフォルトのファイル文字コードを確認する
ファイル操作/デフォルトの改行コードを確認する
ファイル操作/ファイルかディレクトリかを確認する
ファイル操作/ファイルの削除
ファイル操作/ファイルを追記モード開き文字列を追加する
ファイル操作/ファイル・ディレクトリの有無(存在)確認
ファイル操作/ファイル一覧を標示する
プライバシーポリシー
変数操作
変数操作/メンバ変数の初期値はどのような値になっているか
変数操作/数値から文字列に変換するサンプルソース
変数操作/文字列から数値に変換するサンプルソース
数値操作
数値操作/数値をカンマ区切りで整形したい
数値操作/数値をカンマ区切りで整形し+記号を付けたい
数値操作/数値型の最大値・最小値
文字列操作
文字列操作/文字列が数字のみで構成されているかを確認する
文字列操作/文字列のリーバス(反転)
文字列操作/英字の大文字・小文字変換サンプル
日時操作
日時操作/DATEから年月日を抽出するサンプル
日時操作/うるう年のチェックを行う
最初にお読みください
標準入出力
標準入出力/STDOUTとSTDERRに出力する方法
標準入出力/パイプによるデータを受け取る方法
環境
環境/Eclipseで変数名なども補完できるようにする
環境/native2asciiで変換された文字列をもとに戻す
環境/UbuntuにaptコマンドでNetBeansをインストールしてみる
逆引きJavaサンプル
配列等操作
配列等操作/ArrayListのリバース(反転)サンプル
配列等操作/HashMapを使ったサンプル
#navi(../) * パイプ(|)によるデータの受取方法 [#tba41f9f] Linux(*BSD)などのシェルでコマンドとコマンド間でデータを渡すときにパイプ(|)を使用しデータのやりとりをしますよね。~ Javaで作成したプログラムにパイプ経由でデータを渡すサンプルソースと実行例を記します。 #contents * system.inからデータを取得する [#kf3b452d] 以下のサンプルソースの通り、system.inにデータがあるか(パイプによるデータ受け渡しがあるか)をチェックし~ その後、InputStreamReader, BufferedReaderをつかって一行ずつ読み込んでいます。~ 本サンプルソースでは、読み込んだ行の先頭に行番号を%04dという形で表示しています。~ 尚、文字コードはLinux(Ubuntu)にて動作確認を行ったので、UTF-8を指定しています。 #ref(PipeIn.java) class PipeIn { public static void main(String[] args) { try { if (System.in.available() != 0) { InputStreamReader in = new InputStreamReader(System.in, "UTF-8"); BufferedReader b = new BufferedReader(in); String l; int i = 1; while (null != (l = b.readLine())) { System.out.printf("%04d: %s\n", i, l); i++; } } else { System.out.println("No input by the pipe."); } } catch (IOException e) { e.printStackTrace(); } } } * 実行例 [#pb4f61ae] 以下に本サンプルソースのコンパイルおよび実行結果を記します。 - Linux(*BSD)コマンドのprintfコマンドを利用しhello\nworldを~ 今回作成したサンプルの入力とした時の実行例です。 $ printf "hello\nworld" | java PipeIn 0001: hello 0002: world - 本サンプルソースをcatで渡し、headコマンドで先頭から10行表示させています。 $ cat PipeIn.java | java PipeIn | head -10 0001: import java.io.*; 0002: 0003: class PipeIn { 0004: public static void main(String[] args) { 0005: try { 0006: if (System.in.available() != 0) { 0007: InputStreamReader in = new InputStreamReader(System.in, "UTF-8"); 0008: BufferedReader b = new BufferedReader(in); 0009: String l; 0010: int i = 1; - パイプによる入力がない場合。 $ java PipeIn No input by the pipe. 使用したJDKバージョン $ java -version; javac -version openjdk version "9-internal" OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195526.buildd.src) OpenJDK Server VM (build 9-internal+0-2016-04-14-195526.buildd.src, mixed mode) javac 1.8.0_131 以上、Javaでパイプによる入力(STDIN)を扱うサンプルソースでした。
タイムスタンプを変更しない
#navi(../) * パイプ(|)によるデータの受取方法 [#tba41f9f] Linux(*BSD)などのシェルでコマンドとコマンド間でデータを渡すときにパイプ(|)を使用しデータのやりとりをしますよね。~ Javaで作成したプログラムにパイプ経由でデータを渡すサンプルソースと実行例を記します。 #contents * system.inからデータを取得する [#kf3b452d] 以下のサンプルソースの通り、system.inにデータがあるか(パイプによるデータ受け渡しがあるか)をチェックし~ その後、InputStreamReader, BufferedReaderをつかって一行ずつ読み込んでいます。~ 本サンプルソースでは、読み込んだ行の先頭に行番号を%04dという形で表示しています。~ 尚、文字コードはLinux(Ubuntu)にて動作確認を行ったので、UTF-8を指定しています。 #ref(PipeIn.java) class PipeIn { public static void main(String[] args) { try { if (System.in.available() != 0) { InputStreamReader in = new InputStreamReader(System.in, "UTF-8"); BufferedReader b = new BufferedReader(in); String l; int i = 1; while (null != (l = b.readLine())) { System.out.printf("%04d: %s\n", i, l); i++; } } else { System.out.println("No input by the pipe."); } } catch (IOException e) { e.printStackTrace(); } } } * 実行例 [#pb4f61ae] 以下に本サンプルソースのコンパイルおよび実行結果を記します。 - Linux(*BSD)コマンドのprintfコマンドを利用しhello\nworldを~ 今回作成したサンプルの入力とした時の実行例です。 $ printf "hello\nworld" | java PipeIn 0001: hello 0002: world - 本サンプルソースをcatで渡し、headコマンドで先頭から10行表示させています。 $ cat PipeIn.java | java PipeIn | head -10 0001: import java.io.*; 0002: 0003: class PipeIn { 0004: public static void main(String[] args) { 0005: try { 0006: if (System.in.available() != 0) { 0007: InputStreamReader in = new InputStreamReader(System.in, "UTF-8"); 0008: BufferedReader b = new BufferedReader(in); 0009: String l; 0010: int i = 1; - パイプによる入力がない場合。 $ java PipeIn No input by the pipe. 使用したJDKバージョン $ java -version; javac -version openjdk version "9-internal" OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195526.buildd.src) OpenJDK Server VM (build 9-internal+0-2016-04-14-195526.buildd.src, mixed mode) javac 1.8.0_131 以上、Javaでパイプによる入力(STDIN)を扱うサンプルソースでした。
テキスト整形のルールを表示する
添付ファイル:
PipeIn.java
363件
[
詳細
]