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

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

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

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

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

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

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

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

パス(Path)とは、フォルダ(ディレクトリ)やファイルの場所を表すものです。パスは、「c:\Sample\Test.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:\\Sample\\Test.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メソッドで忘れずにファイルをクローズしておきましょう。

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

【初心者のためのJava入門】ファイルを読み込む4つの方法を解説
更新日 : 2019年5月9日

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

ここでは、パスを指定してファイルを書き込む方法を解説します。パスを指定してファイルを書き込むには、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:\\Sample\\Test.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();
        }
    }

}

実行結果:

書き込みに成功しました

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

Javaでファイルに書き込み・出力する(新規/上書き/追記/文字コード)
更新日 : 2019年10月14日

まとめ

いかがでしたか?

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

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

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

中沢 丈

中沢 丈

フリーランスエンジニア。
システム開発からコンテンツ作成まで幅広く対応します。

連絡先はこちらです。
[email protected]

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説