カテゴリー
Java

ファイルの入出力について知ろう

この章ではファイルの入出力について学びます。
以下の例は「java.txt」のすべての内容を取り出しています。111 1コンパイルをした後に以下のようにコマンドプロンプトにファイル名を入力して、エンターキーを押すと「java.txt」の内容が出力されます。11
ではファイルからデータを取り出すプログラムの説明をします。1 => FileReaderクラスを使いますので、この1をインポートしてください。

1

次の箇所の説明をします。1 =>入力値が適切かどうかをチェックしています。
「args.length != 1」は配列の数が1でなければ「間違い」が出力されます。
つまり以下のように1つ以上入力があると「間違い」が出力されるという意味です。1
次は以下の箇所の説明をします。
System.exit(0);
=> System.exit()はプログラムが正常に終了することを意味します。
次は以下の箇所の説明をします。1 => FileReaderクラスはファイルからデータを読み込むためのクラスです。
FileReaderクラスはBufferedReaderクラスの引数に入っていますが、BufferedReaderクラスの引数に入れることにより、ファイルの読み込みが早くなります。

次は以下の箇所の説明をします。1 => readLine()はファイルからデータを読み込むためのメソッドです。
BufferedReaderクラスにはどのようなメソッドがあるかはJavaTM Platform Standard Edition 6の中でBufferedReaderを検索しますと以下のメソッドが使えることが分かります。1 つまり、1の箇所はreadLineメソッドで読み込んだものがlnに入って、それとnullを比べています。
readLineメソッドはファイルを最後まで読み終えたら,null という値を返します。
nullは値がない状態を意味します。
ですのでファイルの終端に達していない限り、whileですべてのデータを取り出すことが出来ます。

次は以下の箇所の説明をします。
rd.close();
=>最後に1という形式で閉じます。

次は以下の箇所の説明をします。1 =>JavaTM Platform Standard Edition 6でFileReaderを検索していただくと以下の内容が表示されるのですが、1という箇所を見てください。
これはこのFileReaderクラスがFileNotFoundExceptionという例外を発生させる可能性があることを意味しますので、必ず1を入れてください。1

次はファイルからデータを読み込むメソッドをreadLineメソッドからreadメソッドに変更して出力します。111 では説明を始めます。1 => FileReaderクラスのオブジェクトを作成します。
FileReaderクラスの引数はファイル名になります。

次は以下の箇所の説明をします。1 =>readメソッドはファイルの先頭から1文字を読み込みます。
この例ではwhileで回しているのでファイルの先頭から順番に1文字ずつファイルを読み込みます。
そして、ファイルの終端に達したならば「-1」を返します。
readメソッドはファイルの初めから1文字を読み込みますと言いましたがreadメソッドの戻り値はint型の整数になります。
この整数は文字コードを表す整数ですので、これを1でキャストして「文字」に変換します。
char()」でキャストしないと以下のように整数の連続になり文字にはなりません。1 「char()」でキャストすると以下のように文字になって出力されます。1 次は指定したファイルへの書き込みについて説明します。11 以下の通り、書き込みたいファイルを指定してください。1 ファイルに書き込みをするためにはFileWriterクラスを使用します。
FileWriterクラスの引数はファイル名になります。

1 =>初めに1をインポートします。

1 =>ここではwriteメソッドでファイルへの書き込みを行います。

filew.close();
=>closeメソッドでファイルを閉じます。
FileWriterクラスの例外はIOExceptionですので、これをcatchの引数に入れてください。

次はファイルの削除方法について説明します。1 では説明を始めます。
Fileクラスはファイルやディレクトリの作成などに関するクラスです。1 ファイルを削除するにはFileクラスのdeleteメソッドを使うので引数に削除したいファイルを指定します。
Fileクラスのメソッドはたくさんありますが、以下にその一部を載せます。1 初めにコンパイルしましたら、以下のようにファイル名を入力してください。
入力したファイル名は1に入ります。
その後,if文で1を判定するのですが、deleteメソッドは削除できたらtrueを、削除できなかったらfalseを返します。1