【Java入門】Pathを設定してファイルを読み込み・書き込みする方法

Javaでパスを指定してファイルを読み込むにはどうすればいいの?
Javaでパスを指定してファイルに書き込むにはどうすればいいの?

こんにちは! エンジニアの中沢です。Javaにはフォルダ(ディレクトリ)やファイルの場所を表す「パス(Path)」があります。

実際に開発の現場ではパスを指定してファイルの読み込みや書き込みをする機会が多いと言えますので、この記事を読んで上手く活用してください。

この記事では、こんな人のために書きました。

  • そもそもパス(Path)とは何か?
  • パスを指定してファイルを読み込む方法が知りたい
  • パスを指定してファイルを書き込む方法が知りたい

今回はこれらの方法を覚えるために、Javaにおける「パス(Path)」の使い方をわかりやすく解説します。

なお、Javaの記事については、こちらにまとめています。

目次

Javaにおけるパス(Path)とは

パス(Path)とは、フォルダ(ディレクトリ)やファイルの場所を表すものです。パスは、「c:SampleTest.txt」のように記述しますこの記事では、パスを指定してファイルの読み書きをする方法などのパスの使い方を解説します。

Javaでパスを指定してファイルを読み書きする

パスを指定してファイルを読み込む方法

ここでは、パスを指定してファイルを読み込む方法を解説します。パスを指定してファイルを読み込むには、Fileクラス、FileReaderクラスを使用します。

次のプログラムで確認してみましょう。ここではディレクトリ「c:Sample」にTest.txtを格納してファイルを読み込んでいます。

import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class Main {

    public static void main(String[] args) {
        try {
            // Fileクラスに読み込むファイルを指定する
            File file = new File("c:SampleTest.txt");

            // ファイルが存在するか確認する
            if (file.exists()) {

                // FileReaderクラスのオブジェクトを生成する
                FileReader filereader = new FileReader(file);

                // filereaderクラスのreadメソッドでファイルを1文字ずつ読み込む
                int data;
                while ((data = filereader.read()) != -1) {
                    System.out.print((char) data);
                }

                // ファイルクローズ
                filereader.close();

            } else {
                System.out.print("ファイルは存在しません");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

実行結果:

SAMURAI
ENGINEER

無事にファイルを読み込めましたでしょうか? このプログラムでは、Fileクラスを指定して、読み込む対象のファイルパスを指定し、existsメソッドでFileクラスで指定したパスに対象のファイルが存在するか確認します。

ファイルが存在したらファイルを読み込むためのFileReaderクラスのオブジェクトを生成し、filereaderクラスのreadメソッドでファイルを1文字ずつ読み込みます。全て読み込んだら、closeメソッドで忘れずにファイルをクローズしておきましょう。

このようにして、パスを指定してファイルを読み込むことができました。ファイルを読み込む方法についてはこちらの記事でも詳しく解説しているので、ぜひ確認してください。

パスを指定してファイルを書き込む方法

ここでは、パスを指定してファイルを書き込む方法を解説します。パスを指定してファイルを書き込むには、FileWriterクラス、PrintWriterクラス、BufferedWriterクラスを使用します。

次のプログラムで確認してみましょう。

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

public class Main {

    public static void main(String[] args) {
        try {
            // FileWriterクラスのオブジェクトを生成する
            FileWriter file = new FileWriter("c:SampleTest.txt");

            // PrintWriterクラスのオブジェクトを生成する
            PrintWriter pw = new PrintWriter(new BufferedWriter(file));

            // ファイルに書き込む
            pw.println("apple");
            pw.println("orange");
            pw.println("melon");

            // ファイルを閉じる
            pw.close();

            System.out.print("書き込みに成功しました");

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

実行結果:

書き込みに成功しました

このようにして、パスを指定してファイルに書き込むことができました。ファイルに書き込む方法についてはこちらの記事でも詳しく解説しているので、ぜひ確認してください。

まとめ

いかがでしたか?

  • パス(Path)でフォルダ(ディレクトリ)
  • ファイルの場所指定する方法

を解説しました。フォルダ(ディレクトリ)やファイルの場所指定して読み書きできるので、ぜひ活用してくださいね。もし、「パス(Path)」の使い方を忘れてしまったらこの記事を確認してください!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次