BohYoh.comトップページへ
Java FAQ
目次

いわゆるcatプログラムはどう実現すればよいですか。

 コマンドライン引数として指定されたファイルの内容をディスプレイ(標準出力)に出力するcatのプログラム例を示します。

/** Concat … テキストファイルの中身を表示する */ import java.io.*; public class Concat { //--- srcから次々と文字を読み込んで標準出力へ書き出す ---// static void printFile(BufferedReader src) { try { int ch; while ((ch = src.read()) != -1) // 次の文字を読み込む System.out.print((char)ch); // その文字を書き出す src.close(); } catch (IOException e) { } } //--- mainメソッド ---// public static void main(String args[]) { if (args.length < 1) // ファイル名が与えられない場合は標準入力から読み込む printFile(new BufferedReader(new InputStreamReader(System.in))); else { for (int i = 0; i < args.length; i++) { try { printFile(new BufferedReader(new FileReader(args[i]))); } catch (FileNotFoundException e) { System.err.println( "ファイル" + args[i] + "はオープンできません。"); } } } } }

 ファイル名を複数与えた場合は、それらのファイルの内容を順に連続して表示します。なお、ファイル名を与えない場合は、標準入力(通常はキーボード)の内容を標準出力へコピーします。

戻る

BohYoh.comロゴ