ファイルの操作!JavaでFileクラスを使う方法【初心者向け】
初心者向けにJavaでFileクラスを使う方法について詳しく解説しています。ファイルやフォルダを扱うクラスで書き方を説明しています。実際にサンプルプログラムを書きながら処理の流れを解説しているので、ぜひ参考にしてみてください。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
この記事では、JavaでFileクラスを使う方法について解説しています。
ファイルの操作を行う際に使うクラスなので、実際にプログラムを書きながら理解しましょう。
なお本記事は、TechAcademyのJava講座の内容をもとに作成しています。
今回はFileクラスを使ってみよう。
田島メンター!Fileクラスは何に使うんですか〜?
ファイルに関する色々な操作を行うことができるんだ。詳しく見ていこう。
はい!
Fileクラスとは
Fileは、ファイルまたはフォルダ(ディレクトリ)を表すクラスです。
ファイルの読み書きや、フォルダ中のファイル一覧の取得といった、ファイルシステムの操作全般で使用します。
Fileクラスの書き方
操作対象のパスを引数とし、コンストラクタを呼び出します。
File f = new File("C:pathtofile");
以降、Fileインスタンスを用いて各種操作を行います。
String name = f.getName(); // 名前を取得する boolean b = f.exists(); // 対象が存在すればtrue f.delete(); // 対象を削除する。 boolean b = f.isFile(); // ファイルならばtrue boolean b = f.isDirectory(); // フォルダならばtrue int length = f.length(); // サイズを取得する
詳細は公式のリファレンスを参照してください。
Fileクラスの基本の書き方だね。
引数は対象のファイルやフォルダのパスになるんですね。
次は実際にFileクラスを使ってみよう。ここでは指定のフォルダ内の一覧を行うコードを書いてみるよ。
実際に書いてみよう
指定したフォルダ配下のフォルダ、ファイル一覧を表示するプログラムです。
種類(フォルダかファイルか)、名前、サイズを表示します。
ソースコード
import java.io.File; import java.nio.file.Paths; public class FileDemo { public static void main(String[] args) { // 一覧を取得する対象の親フォルダ String targetFolderPath = "C:Program FilesJavajdk-10"; File targetFolder = new File(targetFolderPath); // フォルダ中の子フォルダ・子ファイル一覧を取得し、ループする for (String name : targetFolder.list()) { // 親フォルダと、子フォルダ・子ファイル名を結合し、絶対パスとする String path = Paths.get(targetFolderPath, name).toString(); File f = new File(path); // フォルダかファイルかを判定する String type = ""; if (f.isFile()) { type = "ファイル"; } else if (f.isDirectory()) { type = "フォルダ"; } // 種別、名前、サイズを表示する System.out.println(type + " " + name + " " + f.length()); } } }
実行結果
フォルダ bin 65536 フォルダ conf 4096 ファイル COPYRIGHT 3244 フォルダ include 4096 フォルダ jmods 40960 フォルダ legal 40960 フォルダ lib 8192 ファイル README.html 158 ファイル release 1681
解説
Fileインスタンスを作成します。コンストラクタの引数には、一覧を取得する対象の親フォルダを指定しましょう。
次にlistメソッドで、子フォルダ、子ファイルの一覧を取得し、for文でループします。
再びFileインスタンスを作成します。コンストラクタの引数には、子フォルダ、子ファイルを指定しましょう。
isFile, isDirectoryメソッドで、フォルダかファイルかを判定し、種別、名前、サイズを表示します。
以上、Fileクラスの使い方を解説しました。
入門向けJavaの学習サイトもまとめているので、合わせてご覧ください。
Fileクラスで各ファイルの情報を出力した例になるよ。
対象がファイルであるかフォルダであるかを調べるのにisFileやisDirectoryを使っているんですね。
ファイルの一覧以外にもさまざまな操作が可能なので、ぜひ使いこなしてみよう。
そうですね、公式リファレンスも活用してみます。ありがとうございました!
また、オンラインのプログラミングスクールTechAcademyでは、Java講座を開催しています。
JavaやServletの技術を使ってWebアプリケーションの開発を学ぶことができます。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、習得することが可能です。
この記事を監修してくれた方
橋本紘希(はしもとこうき) 開発実績: Javaプログラムを用いた業務用Webアプリケーションや、基幹システム用バッチアプリケーションなどの設計構築試験。 |