Wednesday, 30 December 2015

How to get newly created file from multiple files in java

//Opening newly created/updated file


import java.awt.Desktop;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;


public class Getting_Newly_Added_File_Runnable {
    @SuppressWarnings("unchecked")
    public static void main(String[] args) throws IOException {
        File dir = new File("D:\\my_sys_backup\\imp_all_data_combined\\imp_all_data_combined\\wednesdayTask04"); //here wednesdayTask04 is folder name it has so many files abc.xls,def.xls.ghi.xls
from this we need get which one is created first

        File [] files  = dir.listFiles();
         Arrays.sort(files, new Comparator(){
            public int compare(Object o1, Object o2) {
                return compare( (File)o1, (File)o2);
            }
            private int compare( File f1, File f2){
                long result = f2.lastModified() - f1.lastModified();
                if( result > 0 ){
                    return 1;
                } else if( result < 0 ){
                    return -1;
                } else {
                    return 0;
                }
            }
        });
         //Prints the file names according to modific
      System.out.println( Arrays.asList(files));
      //Prints the Newly created/updated file name and it open the file based on Index number
        System.out.println(Arrays.asList(files).get(0));
        File latestExcelFile=Arrays.asList(files).get(0);
        System.out.println(latestExcelFile.getAbsolutePath());
       //Opening the file at run time
        Desktop.getDesktop().open(new File(latestExcelFile.getAbsolutePath()));
    }

}


















































No comments:

Post a Comment