Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaで複数のファイル名を一括変更する方法

Javaを使えば、フォルダ内に存在する複数のファイルの名前をプログラムから簡単に一括変更できます。以下は、その具体的なサンプルコードです。

サンプルコード

import java.io.File;
import java.io.IOException;
public class Demo{
    public static void main(String[] argv) throws IOException{
        String path_to_folder = "path\\to\\folder\\where\\multiple\\files\\are\\present";
        File my_folder = new File(path_to_folder);
        File[] array_file = my_folder.listFiles();
        for (int i = 0; i < array_file.length; i++){
            if (array_file[i].isFile()){
                File my_file = new File(path_to_folder + "\\" + array_file[i].getName());
                String long_file_name = array_file[i].getName();
                String[] my_token = long_file_name.split("\\s");
                String new_file = my_token[1];
                System.out.println(long_file_name);
                System.out.print(new_file);
                my_file.renameTo(new File(path_to_folder + "\\" + new_file + ".pdf"));
            }
        }
    }
}

実行結果

フォルダ内のすべてのファイルが、.pdf形式の新しい名前にリネームされます

コードの解説

Demoクラスにはmainメソッドが定義されており、その中で複数のファイルが格納されているフォルダへのパス(path_to_folder)を文字列として指定しています。このパスをもとに、対象フォルダを表すFileオブジェクトを生成します。

続いて、listFiles()メソッドを呼び出すことで、フォルダ内のファイル一覧をFile型の配列として取得します。取得した配列をforループで順番に処理し、各要素がファイルであるかどうかをisFile()メソッドで判定します。ファイルだった場合は、フルパスを持つ新しいFileオブジェクトを作成し、現在のファイル名を取得します。

取得したファイル名はsplit("\\s")によって空白文字で分割され、2番目のトークン(my_token[1])が新しいファイル名として採用されます。最後にrenameTo()メソッドを呼び出すことで、元のファイルが「新しい名前+.pdf」という形式にリネームされます。つまり、元のファイル名のうち最初の空白以降の部分だけを抽出し、ファイル名を短縮した上でPDF形式として保存している仕組みです。

実装時の注意点

実際の開発では、renameTo()メソッドはリネームに失敗しても例外をスローせず、単にfalseを返すだけなので、必ず戻り値をチェックしてエラー処理を行うことをおすすめします。また、Java 7以降ではjava.nio.fileパッケージのFiles.move()やPath APIを利用することで、より安全かつ柔軟なファイル操作が可能になります。OSごとのパス区切り文字の違いに対応したい場合は、File.separator定数を使うと移植性の高いコードになります。

  1. Windowsで複数のファイルを一括リネームする4つの方法【初心者向け完全ガイド】

    旅行中に撮った写真がたくさんあって、フォルダの中にバラバラの名前で保存されている…そんな経験はありませんか?また、脚本や原稿を何度も下書きしている場合、名前を整理しておかないと目的のファイルを探すのに苦労します。複数のファイルを1つずつ手作業でリネームするのは時間がかかり、かなりの負担です。幸い、Windowsには数クリックでファイルをまとめて一括リネームできる便利な機能が備わっています。この記事では、複数のファイルの名前を一度に変更する方法を詳しく解説します。 .pngファイルや.docファイルなど、同じ種類のファイルには共通の名前を付けておくと、フォルダ内での管理や検索が格段に楽になります

  2. Macで複数のファイル名を一括変更する方法|Finderの標準機能で簡単リネーム

    Macは高い信頼性と先進的な技術で知られていますが、それだけではありません。複数のファイルに対する操作をまとめて処理できる「一括タスク」機能により、1つずつ手作業で変更する面倒な労力から解放してくれる点でも人気を集めています。大量のファイル名をまとめて変更したり、一括で編集を加えようとした経験のある方なら、その手間とストレスは痛いほど分かるでしょう。 実は、macOS Yosemite以前のMacには、ファイルを一括で名称変更する標準機能が搭載されていませんでした。そのため、この作業を実現するにはサードパーティ製のアプリをインストールするしかありませんでした。しかし、最新バージョンのmacOS