【Java】ファイル操作について(ファイルの入出力や読み込み)

Java

はじめに

今回は、Javaの「ファイル操作」について勉強したことを記載していきたいと思います。

 

ファイルの作成

createNewFileメソッドを使用することで、ファイルを作成することができます。

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        File file = new File("test.csv");

        if (file.createNewFile()) {
            System.out.println("作成成功");
        }
    }

 

ディレクトリの作成

mkdirメソッドを使用することで、ディレクトリを作成することができます。

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        File file = new File("Test2");

        if (file.mkdir()) {
            System.out.println("作成成功");
        }
    }

 

ファイルの読み込み

1文字ずつ取得:FileReaderクラス
1行ずつ取得:BufferedReaderクラス

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {

        // 1文字ずつ取得する
        try (FileReader reader = new FileReader("Test.txt")) {
            int data;
            while ((data = reader.read()) != -1) {
                System.out.print((char) data);
            }
        }

        // 1行ずつ取得する
        try (BufferedReader reader = new BufferedReader(new InputStreamReader
            (new FileInputStream("Test.txt"),"UTF-8"))) {
                String line;
                while ((line = reader.readLine()) != null) {
                    System.out.println(line);
                }
        }
    }

 

ファイルへ出力

1文字ずつ書き込まれる:FileWriterクラス
まとめて書き込まれる:BufferedWriterクラス

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {

        // 1文字ずつ書き込み
        try (FileWriter writer = new FileWriter("Test.txt",true)) {
            writer.append("test");
            writer.append("\n");
            writer.flush();
        }

        // まとめて書き込み
        try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
            new FileOutputStream("Test.txt", true),"UTF-8"))) {
                writer.append("test");
                writer.append("test");
                writer.newLine();
                writer.flush();
        }
    }

 

ファイルの削除

deleteメソッドを使用することで、ファイル/ディレクトリを削除することができます。

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        File file = new File("test.txt");

        if(file.delete()) {
            // 存在する場合
            System.out.println("削除成功");
        }
    }

 

存在チェック

existsメソッドを使用することでファイルやフォルダの存在チェックをすることができます。

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        File file = new File("test.txt");

        if(file.exists()) {
            // 存在する場合
        }
    }

 

ファイルサイズの確認

lengthメソッドでサイズの確認ができます。

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        File file = new File("test.txt");

        System.out.println(file.length());
    }

 

ファイルのパスを取得する

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        File file = new File("test.txt");

        // 絶対パスの取得
        System.out.println(file.getAbsolutePath());

        // 親ディレクトリの取得
        File dir = file.getAbsoluteFile();
        System.out.println(dir.getParentFile());
    }

 

ファイル一覧を取得

listFilesメソッドを使用することで、ディレクトリ内の全てのファイル/フォルダを取得することができます。

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        File dir = new File("test");

        File[] fileList = dir.listFiles();

        for (File file : fileList) {
            System.out.println(file.getAbsolutePath());
        }
    }

 

ドキュメント

【公式ドキュメント】
Java SE Specifications (oracle.com)

 

最後に

Javaの環境構築は、この記事を参照してみてください。
【開発環境構築】VS CodeでJavaを使用するための環境構築を実施する – SEもりのLog (selifemorizo.com)

以上、ログになります。
これからも継続していきましょう!!

Javaサーバーサイド関連
おすすめIT本
良いコード/悪いコードで学ぶ設計入門

「ITエンジニア本大賞2023」技術書部門で大賞を受賞した本です。
・コードの可読性
・普段意識したほうが良いこと
・リファクタリング考え方
等、普段のコードを設計する際に意識することが書かれています。
コードのあるべき姿に迷ったら一度読んでみると良い本です。

仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん

Dockerって何?となったときに私が最初に読んだ本です。
Dockerがどんな仕組みで動いているのか、コマンドでは何を命令しているのかを理解できるように、イラストを多用して説明しています。

1冊ですべて身につくJavaScript入門講座

「ITエンジニア本大賞2024」技術書部門で大賞を受賞した本です。
私が次に読もうと思っている本なのでおすすめとして挙げておきたいと思います。

コメント

タイトルとURLをコピーしました