package cyrille.io;
import java.io.File;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.Validate;
public class FileRenamer {
public static void main(String[] args) {
new FileRenamer().scan();
}
public void scan() {
String baseFolderName = "C:\\Documents and Settings\\Cyrille Le Clerc\\Mes documents\\Musique a convertir";
System.out.println("enter " + baseFolderName);
File baseFolder = new File(baseFolderName);
scan(baseFolder);
}
private void scan(File baseFolder) {
Validate.isTrue(baseFolder.exists() && baseFolder.isDirectory(), "folder exists " + baseFolder);
File[] children = baseFolder.listFiles();
for (File file : children) {
if (file.isDirectory()) {
scan(file);
} else if (StringUtils.endsWith(file.getName(), ".wav")) {
String fileName = file.getName();
String trackNumber = StringUtils.substringBefore(fileName, " ");
String trackName = StringUtils.substringBeforeLast(StringUtils.substringAfter(fileName, " "), ".");
String album = file.getParentFile().getName();
String artist = file.getParentFile().getParentFile().getName();
String newFileName = artist + "_" + album + "_" + trackNumber + "_" + trackName + ".wav";
//System.out.println(newFileName);
File targetFile = new File(file.getParent(), newFileName);
System.out.println(targetFile);
file.renameTo(targetFile);
} else {
System.out.println("skip unsupported " + file);
}
}
}
}