package moviescraper.doctord.controller.releaserenamer; import java.io.File; import org.apache.commons.io.FilenameUtils; public abstract class ReleaseRenamer { public abstract String getCleanName(String filename); public String replaceSeperatorsWithSpaces(String name) { return name.replaceAll("[\\._]", " "); } public File newFileName(File fileToRename) { String newBaseName = ""; if(fileToRename.isFile()) newBaseName = getCleanName(FilenameUtils.getBaseName(fileToRename.toString())); else if(fileToRename.isDirectory()) newBaseName = getCleanName(FilenameUtils.getName(fileToRename.toString())); String extension = FilenameUtils.getExtension(fileToRename.toString()); if(fileToRename.isDirectory()) { return new File(fileToRename.getParent() + File.separator + newBaseName); } else if(fileToRename.isFile()) { return new File(fileToRename.getParent() + File.separator + newBaseName + "." + extension); } return fileToRename; } public static void renameToCleanName(File fileToRename, ReleaseRenamer releaseRenamerToUse) { File newFileName = releaseRenamerToUse.newFileName(fileToRename); boolean renameStatus = fileToRename.renameTo(newFileName); if(renameStatus != true) System.err.println("Rename failed on file: " + fileToRename.toString()); } }