skip to main | skip to sidebar

Java Programs and Examples with Output

Pages

▼
 
  • RSS
  • Twitter
Monday, October 15, 2012

Find File in Java

Posted by Raju Gupta at 12:00 AM – 0 comments
 

import java.sql.*;   
import java.text.ParseException;   
import java.text.SimpleDateFormat;   
import java.util.List;   
import java.io.*;   
  
  
class FileFinder   
{   
  static String indirectory = ".";   
  static String filterRegExp = ".*";   
  static String date_time = "01.01.00:00:00";   
  static boolean bFiles = true;   
  static boolean bDirectories = true;   
  
  static final SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yy HH:mm");   
  static final SimpleDateFormat inDateFormat = new SimpleDateFormat("dd.MM.yy:HH:mm");   
  static final String newLine = "rn";   
  
  ////////////////////////////////////////////////////   
  public static void usage()   
  {   
    System.err.println( "Usage: FilesSince <directory> <"filterRegExp"> [-t <date_time>] [-(f|d|b)]");   
    System.err.println( "Options:");   
    System.err.println( "  filterRegExp: Like .* (Everything) or .*\.java (Every file with .java extension)");   
    System.err.println( "  Don't forget to surround the regular expression with quotation marks");   
    System.err.println( "         -t <Minimum file time. Format: dd.mm.yy:hh:mm>");   
    System.err.println( "         -f List files");   
    System.err.println( "         -d List directories");   
    System.err.println( "         -b List both files and directories");   
  }   
  
  
  
  ////////////////////////////////////////////////////   
  static private boolean readCommandLine( String args[])   
  {   
   int i = 0;   
   int argsUsed = 0;   
      
   if( args.length < 3)   
   {   
     usage();   
     return false;   
   }   
  
   while( i < args.length)   
   {   
     if (args[i].charAt(0) == '-')   
     {   
       switch( args[i].charAt(1))   
       {   
         case 'h':   
         case '?':   
           usage();   
           return false;   
         case 't':   
           i++;   
           date_time = args[i];   
           return true;   
         case 'D':   
           bDirectories = true;   
           return true;   
         case 'F':   
           bFiles = true;   
           return true;   
         case 'B':   
           bFiles = true;   
           bDirectories = true;   
           return true;   
         
         default:   
           System.out.println( "*** Unknown option:" + args[argsUsed]);   
           usage();   
           return false;   
         }   
       }   
       else  
       {   
         if( argsUsed==0)        indirectory = args[i];   
         else if ( argsUsed==1)  filterRegExp = args[i];   
         else  
         {   
           System.err.println( "Unknown option:" + args[i]);   
           usage();   
           return false;   
         }   
         argsUsed++;   
       }   
     i++;   
   }   
   return true;   
  }   
     
  ////////////////////////////////////////////////////   
  static boolean initialize()   
  {   
    return true;   
  }   
  
/*    
  static void recurse( Vector vecFiles, String actPath, long minDate) throws IOException  
  {  
    String pathname;   
    File f = new File( actPath);  
 
    File[] a_f = f.listFiles();  
      
    for( int i=0; i<a_f.length; i++)  
    {  
      pathname = a_f[i].getCanonicalPath();  
      if( a_f[i].isDirectory())  
      {  
        recurse( vecFiles, pathname, minDate);  
      }  
      else  
      {  
        if( a_f[i].lastModified() > minDate )  
        {  
          vecFiles.add( a_f[i]);  
        }  
      }  
    }  
  }  
*/  
     
 /****************************************************************************  
 * main  
 *****************************************************************************/  
 public static void main (String args []) throws SQLException   
 {   
   if (!readCommandLine( args))   
   {   
     return; //>>>>>>>>>>>   
   }   
   if( indirectory == null)   
   {   
     usage();   
     return; //>>>>>>>>>>>   
   }   
      
   final long minDate;   
   try    
   {   
     minDate = inDateFormat.parse( date_time).getTime();   
   }    
   catch (ParseException e1)    
   {   
     e1.printStackTrace();   
     usage();   
     return; //>>>>>>>>>>>   
   }   
  
   List files;   
   try {   
     indirectory = new File( indirectory).getCanonicalPath();   
     files = FileUtils.getFileListing( new File( indirectory), filterRegExp, true, false);   
   }    
   catch (FileNotFoundException e) {   
     e.printStackTrace();   
     return;   
   }   
   catch (IOException e) {   
     e.printStackTrace();   
     return;   
   }   
  
   // print out all file names, and display the order of File.compareTo   
   for( int i=0; i<files.size(); i++)   
   {   
     File file = (File) files.get(i);   
     if( file.lastModified() > minDate)   
     {   
       System.out.println( file);   
     }   
   }   
  
/*     
   Vector v = new Vector();   
   try   
   {  
     recurse( v, indirectory, minDate);  
   }   
   catch (IOException e1)   
   {  
     e1.printStackTrace();  
     return;  
   }  
     
   for( int i=0; i<v.size(); i++)  
   {  
//       System.out.println( ((File)v.elementAt(i)).getCanonicalPath());  
      System.out.println( ((File)v.elementAt(i)).getPath());  
   }  
*/     
  }   
}  
import java.sql.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.List;
import java.io.*;


class FileFinder
{
  static String indirectory = ".";
  static String filterRegExp = ".*";
  static String date_time = "01.01.00:00:00";
  static boolean bFiles = true;
  static boolean bDirectories = true;

  static final SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yy HH:mm");
  static final SimpleDateFormat inDateFormat = new SimpleDateFormat("dd.MM.yy:HH:mm");
  static final String newLine = "rn";

  ////////////////////////////////////////////////////
  public static void usage()
  {
    System.err.println( "Usage: FilesSince <directory> <"filterRegExp"> [-t <date_time>] [-(f|d|b)]");
    System.err.println( "Options:");
    System.err.println( "  filterRegExp: Like .* (Everything) or .*\.java (Every file with .java extension)");
    System.err.println( "  Don't forget to surround the regular expression with quotation marks");
    System.err.println( "         -t <Minimum file time. Format: dd.mm.yy:hh:mm>");
    System.err.println( "         -f List files");
    System.err.println( "         -d List directories");
    System.err.println( "         -b List both files and directories");
  }



  ////////////////////////////////////////////////////
  static private boolean readCommandLine( String args[])
  {
   int i = 0;
   int argsUsed = 0;
   
   if( args.length < 3)
   {
     usage();
     return false;
   }

   while( i < args.length)
   {
     if (args[i].charAt(0) == '-')
     {
       switch( args[i].charAt(1))
       {
         case 'h':
         case '?':
           usage();
           return false;
         case 't':
           i++;
           date_time = args[i];
           return true;
         case 'D':
           bDirectories = true;
           return true;
         case 'F':
           bFiles = true;
           return true;
         case 'B':
           bFiles = true;
           bDirectories = true;
           return true;
      
         default:
           System.out.println( "*** Unknown option:" + args[argsUsed]);
           usage();
           return false;
         }
       }
       else
       {
         if( argsUsed==0)        indirectory = args[i];
         else if ( argsUsed==1)  filterRegExp = args[i];
         else
         {
           System.err.println( "Unknown option:" + args[i]);
           usage();
           return false;
         }
         argsUsed++;
       }
     i++;
   }
   return true;
  }
  
  ////////////////////////////////////////////////////
  static boolean initialize()
  {
    return true;
  }

/*  
  static void recurse( Vector vecFiles, String actPath, long minDate) throws IOException
  {
    String pathname; 
    File f = new File( actPath);

    File[] a_f = f.listFiles();
    
    for( int i=0; i<a_f.length; i++)
    {
      pathname = a_f[i].getCanonicalPath();
      if( a_f[i].isDirectory())
      {
        recurse( vecFiles, pathname, minDate);
      }
      else
      {
        if( a_f[i].lastModified() > minDate )
        {
          vecFiles.add( a_f[i]);
        }
      }
    }
  }
*/
  
 /****************************************************************************
 * main
 *****************************************************************************/
 public static void main (String args []) throws SQLException
 {
   if (!readCommandLine( args))
   {
     return; //>>>>>>>>>>>
   }
   if( indirectory == null)
   {
     usage();
     return; //>>>>>>>>>>>
   }
   
   final long minDate;
   try 
   {
     minDate = inDateFormat.parse( date_time).getTime();
   } 
   catch (ParseException e1) 
   {
     e1.printStackTrace();
     usage();
     return; //>>>>>>>>>>>
   }

   List files;
   try {
     indirectory = new File( indirectory).getCanonicalPath();
     files = FileUtils.getFileListing( new File( indirectory), filterRegExp, true, false);
   } 
   catch (FileNotFoundException e) {
     e.printStackTrace();
     return;
   }
   catch (IOException e) {
     e.printStackTrace();
     return;
   }

   // print out all file names, and display the order of File.compareTo
   for( int i=0; i<files.size(); i++)
   {
     File file = (File) files.get(i);
     if( file.lastModified() > minDate)
     {
       System.out.println( file);
     }
   }

/*   
   Vector v = new Vector(); 
   try 
   {
     recurse( v, indirectory, minDate);
   } 
   catch (IOException e1) 
   {
     e1.printStackTrace();
     return;
   }
   
   for( int i=0; i<v.size(); i++)
   {
//       System.out.println( ((File)v.elementAt(i)).getCanonicalPath());
      System.out.println( ((File)v.elementAt(i)).getPath());
   }
*/  
  }
}

Labels: Java File Example

Leave a Reply

Newer Post Older Post
Subscribe to: Post Comments ( Atom )
  • Popular
  • Recent
  • Archives
Powered by Blogger.
 
 
 
© 2011 Java Programs and Examples with Output | Designs by Web2feel & Fab Themes

Bloggerized by DheTemplate.com - Main Blogger