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)」の使い方を忘れてしまったらこの記事を確認してください!