07. ファイルへ書き込む WFile.java
- 2006.08.15
- Java
キーボードから文字を読み取り、ファイルに書き込むプログラム。
WFile.java
// // WFile.java // // キーボードの入力をファイルに書き込む // // java WFile (ファイル名) // import java.io.* ; public class WFile { public static void main( String[] args ) { byte[] buff = new byte[4096] ; // バッファ定義 FileOutputStream outFile = null ; // ファイル書込用オブジェクト // コマンドライン引数のチェック if ( args.length <= 0 ) { System.out.println( "ファイル名を指定してください!" ) ; System.exit( 1 ) ; } // メッセージを表示する System.out.println( "¥"/¥" で終了します。" ) ; // ファイルを準備する try { outFile = new FileOutputStream( args[0] ) ; } catch( IOException e ) { System.err.print( "ファイル[" ) ; System.err.print( args[0] ) ; System.err.println( "]を開く事ができません!" ) ; System.exit( 1 ); } // キーボード入力をファイルへ書き込む while( true ) { try { int n = System.in.read( buff ) ; // キーボード読み込み if ( buff[0] == '/' ) { break; } // 終了 outFile.write( buff, 0, n ) ; // 書き出し } catch( Exception e ) { System.exit( 1 ) ; } } // ファイルを閉じる try { outFile.close() ; } catch( IOException e ) { System.err.println( "ファイルを閉じることができません!" ) ; System.exit( 1 ); } } }
■コンパイル
$ javac WFile.java
■実行
$ java WFile test.txt "/" で終了します。 aiueo かきくけこ /
■確認する
テキストエディタで、test.txt を開くか、ターミナルでcatコマンドを使って確認する。
$ cat test.txt aiueo かきくけこ
■実行その2
制御コードも書き込める事を確認する。
control + A などを入力する。
$ java WFile test.txt "/" で終了します。 ^A^B /
odコマンドで、中身を確認する。
$ od -h test.txt 0000000 0102 0a00 0000003
■実行その3
test.txtを書き込み禁止にする。
$ chmod 444 test.txt
実行する。
$ java WFile test.txt "/" で終了します。 ファイル[test.txt]を開く事ができません!
-
前の記事
06. ファイルの読み込み RFile.java その2 2006.08.15
-
次の記事
08. ファイルへ書き込む WFile.java その2 2006.08.15