Java でファイルの名前を変更する

Mohammad Irfan 2023年1月30日 2021年7月3日
  1. Java で renameTo() メソッドを使用してファイルの名前を変更する
  2. Java で move() メソッドを使用してファイルの名前を変更する
  3. Java で move() メソッドを使用してファイルの名前を変更する
  4. Java の Apache commons ライブラリを使用してファイルの名前を変更する
Java でファイルの名前を変更する

このチュートリアルでは、Java でファイルの名前を変更する方法を紹介し、トピックをさらに理解するためのサンプルコードをいくつか示します。

Java では java.io パッケージにいくつかの組み込みメソッドが用意されているため、Java でファイルの名前を変更するのは非常に簡単です。これらのメソッドを使用して、ファイルの名前を変更したり、他のファイル操作を確認したりできます。この記事では、File クラスの renameTo() メソッド、Files クラスの move() メソッド、および Apache commons ライブラリを使用してファイルの名前を変更します。

Java で renameTo() メソッドを使用してファイルの名前を変更する

この例では、File クラスを使用してファイルのインスタンスを取得してから、renameTo() メソッドを使用してファイルの名前を変更しました。このメソッドは IOException を返すため、例外を処理するには適切な try-catch ブロックを使用する必要があります。renameTo() メソッドは、ファイルの名前が正常に変更されたかどうかを確認するために使用できる、true または false のブール値を返します。

import java.io.File;
import java.io.IOException;
public class SimpleTesting{
    public static void main(String[] args) throws IOException {
        File file1 = new File("abc.txt");
        File file2 = new File("abcd.txt");
        if (file2.exists())
        throw new java.io.IOException("file exists");
        boolean success = file1.renameTo(file2);
        if (success) {
            System.out.println("File Rename successfuly");
        }else System.out.println("File is not Rename");
    }
}

出力:

File Rename successfuly

Java で move() メソッドを使用してファイルの名前を変更する

この方法は、ファイルの名前を変更する別の解決策です。ここでは、Files クラスの move() メソッドを使用しました。これを使用して、ファイルの名前を変更できます。以下の例を参照してください。

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class SimpleTesting{
    public static void main(String[] args) {
        try {
            Path source = Paths.get("/file-location/abc.txt");
            Files.move(source, source.resolveSibling("/file-location/abcd.txt"));
        }catch(Exception e) {
            System.out.println(e);
        }
    }
}

Java で move() メソッドを使用してファイルの名前を変更する

move() メソッドには、2 番目のパラメーターとしてファイルパスを受け取るオーバーロードメソッドが 1つあります。したがって、名前変更プロセスの後でファイルを別の場所に移動する場合は、関数呼び出しでこのパラメーターを設定できます。

import java.io.File;
import java.nio.file.Files;
public class SimpleTesting{
    public static void main(String[] args) {
        try {
            File newFile = new File(new File("/file-location/abc.txt").getParent(), "abcd.txt");
            Files.move(new File("/file-location/abc.txt").toPath(), newFile.toPath());
        }catch(Exception e) {
            System.out.println(e);
        }
    }
}

Java の Apache commons ライブラリを使用してファイルの名前を変更する

Apache commonsJava ライブラリを使用している場合は、FileUtils クラスの moveFile() メソッドを使用できます。ここでサンプルプログラムを確認してください。

import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
public class SimpleTesting{
    public static void main(String[] args) {
        File file = new File("/file-location/abc.txt");
        String newName = "abcd.txt";
        String newFilePath = file.getAbsolutePath().replace(file.getName(), "") + newName;
        File newFile = new File(newFilePath);
        try {
            FileUtils.moveFile(new File("/file-location/abc.txt"), newFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

関連記事 - Java File