JavaのFile系クラスを用いたファイルの読み書き方法とは?
はじめに
システム開発において、プログラムの構成はもちろん欠かせませんが、プログラムを記述する際、良く用いられている言語がJavaになります。Javaはオブジェクト指向の言語で、それらを用いてWebアプリにおけるバックエンド側の構築や制御系のシステムに多く用いられています。Javaには色々な技術が詰み込まれていますが、今回はその中で、Javaを用い、ファイルの読み書きを行う方法についての基本的な部分を記載していきます。
ファイルの読み書きを行う「Fileクラス」
JavaにはAPIと呼ばれるライブラリ(よく利用されるクラスの集まり)が豊富であり、開発を行う際、ライブラリよりクラスを呼び出してプログラムを構築していくことが主流担っています。題名にもありますが、ファイルを読み込んだり、書き込みを行うクラスはFile系のクラスになります。以下にファイルクラスを呼び出す方法を記載します。
File f = new File(“パス名”);
※パス名・・「aaa#bbb.text」のようなファイルの名称
また、前提条件としてライブラリに保存されているクラスではあるので、Fileクラスを利用するには「import.java.io.File;」の記述が必要です。
ファイルの読み込み
ファイルクラスの基本的な使い方を説明したところで、次はJavaを用いたファイルの読み込みを行う方法を記載していきます。ファイルの読み込みにはFileReaderクラスを用います。FileReaderを用いたfileの読み込み方法は以下のコードになります。
try{
File f = new File(“パス名”);
FileReader fr = new FileReader(f);・・①
int a;
while(fr.read() != -1){・・②
System.out.print(char(a));}
fr.close();・・③
}catch(FileNotFoundException){
System.out.println(“ファイルはありません”);・・④
}catch(IOException e){
System.out.println(“ファイルを読み込めません”);}・・⑤
以上がファイルの読み取りの基本的な方法になります。
※見ていただいた通り、FileReaderを用いての読み込みは1文字ずつの処理になってしまうので、効率が非常に悪いです。FileReaderクラスの利用を前提に、文字の読みこみをまとめて行えるBufferReaderクラスを併用して行うことがほとんどになります。
ファイルの書き込み
次はJavaを用いたFileの書き込みについて説明します。ファイルへの書き込みを行うにはFileWriterクラスを用います。同様にサンプルコードを見ていこうと思います。
try{
File f = new File(“パス名”);
FileWriter fw = new FileWriter(f);・・①
fw.write(”書き込みたい文字”);・・②
fw.close();・・③
}catch(FileNotFoundException){
System.out.println(“ファイルはありません”);・・④
}catch(IOException e){
System.out.println(“ファイルを書き込めません”);}・・⑤
以上がFileWriterを用いてファイルの書き込みを行う一連のコードになります。これ以外にも、ファイルの書き込みの権限が許可されているかを確認するクラスや、指定したものがファイルかどうかを確認するメソッドなどと組み合わせて利用されます。
まとめ
この記事ではJavaを用いてファイルの読み書きを行う方法について記載してきました。ファイルの読み書きはシステムにも組み込まれる仕様になります。記載してきた内容は基本的な部分になり、この他にも効率性の向上や権限の確認など細かくも重要な部分を取り扱うメソッドが多数存在するので、それらとも組み合わせてファイルの読み書きについて理解を深めていただければと思います。File系のクラスに加え、SwingなどのGUI系を扱うクラスと併用してプログラムを構築すれば、ファイルの読み書き、保存などが行なえるテキストエディタの作成も可能となるので、Javaの練習に作成してみることもおすすめします。ご拝読いただきありがとうございました。