Sometimes We need to rename a file which is most recently downloaded through selenium or which is most recent in a directory(folder). Here is a solution that will work for you.
package fileRename;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.util.Arrays;
import org.apache.commons.io.comparator.LastModifiedFileComparator;
import org.apache.commons.io.filefilter.WildcardFileFilter;
public class FileRename {
public static void main(String[] args) throws IOException {
FileRename fr= new FileRename();
File newfile = fr.getTheNewestFile("F://downloads", "zip");
newfile.renameTo(new File("F://downloads//Suchandra Karle.zip"));
String filename= newfile.getName();
System.out.println("latest file is="+filename);
FileRename fr1= new FileRename();
File updated = fr1.getTheNewestFile("F://downloads", "zip");
System.out.println("Changed file name is ="+updated);
}
public File getTheNewestFile(String filePath, String ext) {
File theNewestFile = null;
File dir = new File(filePath);
FileFilter fileFilter = new WildcardFileFilter("*." + ext);
File[] files = dir.listFiles(fileFilter);
if (files.length > 0) {
/** The newest file comes first **/
Arrays.sort(files, LastModifiedFileComparator.LASTMODIFIED_REVERSE);
theNewestFile = files[0];
}
return theNewestFile;
}
}
Comments
Post a Comment