ファイルとディレクトリを操作しようとしている Java の初心者です。すべての子ディレクトリで無効なファイル名を検索しながら、ファイル名を自動的に変更できるプログラムを作成したかったのです。サーバーに大量のファイルをロードしようとしていますが、サーバーの設定では特殊文字を含むファイル名が許可されていません。まず、パスをディレクトリに渡すと、そのディレクトリ内の無効な名前を持つすべてのファイルの名前を変更するコードを書くことができました。
パブリック クラスの名前変更 {
public static String baseLoc = "C:/Users/Developer/Desktop/.../Data Cleanup";
public static void main(String[] args) {
//LinkedList<File> fileList = new LinkedList<File>();
File obj = new File(baseLoc);
int count = 0;
for (File file: obj.listFiles())
{
String origName = file.getName();
if (origName.contains("&") || origName.contains("#") || origName.contains("@"))
{
System.out.println("Original name: "+origName);
origName = origName.replaceAll("&", "_and_");
origName = origName.replaceAll("@", "_at_");
String newName = origName.replaceAll("#", "_");
System.out.println("New Name: "+newName);
String newLoc = baseLoc+"/"+newName;
File newFile = new File(newLoc);
System.out.println(file.renameTo(newFile));
count++;
}
}
}
}
今、私は同じことをしたいのですが、今回だけ、子ディレクトリでもすべてのファイルの名前を変更したいのです。誰かがそれを達成する方法を教えてもらえますか?