icon
icon

ファイルの操作!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クラスを使ってみよう。ここでは指定のフォルダ内の一覧を行うコードを書いてみるよ。

[PR] Javaプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

指定したフォルダ配下のフォルダ、ファイル一覧を表示するプログラムです。

種類(フォルダかファイルか)、名前、サイズを表示します。

ソースコード

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アプリケーションや、基幹システム用バッチアプリケーションなどの設計構築試験。

初心者・未経験でもできる。まずはテックアカデミーに相談しよう

プログラミングを独学で学習していて、このように感じた経験はないでしょうか?

  • ・調べてもほしい情報が見つからない
  • ・独学のスキルが実際の業務で通用するのか不安
  • ・目標への学習プランがわからず、迷子になりそう

テックアカデミーでは、このような 学習に不安を抱えている方へ、マンツーマンで相談できる機会を無料で提供 しています。
30分間、オンラインでどんなことでも質問し放題です。

「受けてよかった」と感じていただけるよう カウンセラーやエンジニア・デザイナー があなたの相談に真摯に向き合います。

「自分に合っているか診断してほしい」
「漠然としているが話を聞いてみたい」

こんなささいな悩みでも大丈夫です。

無理な勧誘は一切ありません ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)

今なら参加者限定の割引特典付き! 無料相談を予約する