Results 1 to 2 of 2
Thread: How to search files with Java
- 05-25-2007, 07:32 PM #1
Member
- Join Date
- May 2007
- Posts
- 6
- Rep Power
- 0
- 05-26-2007, 01:25 PM #2
Member
- Join Date
- May 2007
- Posts
- 7
- Rep Power
- 0
The following is a sample, and may have rooms for improvement.
To perform this, after compiling, enter a command as a command line input
java FindFilterdFile [directory from which serch begins] [filter]
For example like this.
java FindFilterdFile "C:\\" ".jpg"
Java Code:import java.util.*; import java.io.*; final public class FindFilteredFile { final static void perform(File Dir, MyFilter filtr) throws IOException{ if (Dir==null) return; File[] filtered = Dir.listFiles(filtr); if (filtered==null) return; Arrays.sort(filtered); for(int i = 0; i < filtered.length; i++){//print Filtered Filename if(filtered[i].isFile()) { System.out.println(filtered[i].getCanonicalPath()); } } //end of for } final public static void main(String[] args) { if(args.length !=2){ System.out.println("Enter path and filter."); return; } File iDir = new File(args[0].trim()); //e.g. "." MyFilter filt = new MyFilter(args[1].trim()); //e.g.".jpg" if(!(iDir.exists())||(iDir.isFile())){ System.out.println("Directory does not exist."); return; } FindDir finder = new FindDir(); ArrayList objs = null; try{ objs = finder.getDs(iDir); }catch(Exception e){e.printStackTrace();} finder = null; try{ Thread.sleep(400);// affords to run back ground System.gc(); }catch(InterruptedException trx){;} try{ Collections.sort(objs); Iterator it = objs.iterator(); while(it.hasNext()){ FindFilteredFile.perform((File)(it.next()), filt); } }catch(IOException iioo){iioo.printStackTrace();} return; } //end of main } //end of FindFilteredFile final class FindDir{ private ArrayList objD; FindDir(){ this.objD = new ArrayList(); } public ArrayList getDs(File givendir){ this.enumDs(givendir); return this.objD; } private final void enumDs(File dir){ (this.objD).add(dir); File[] dirArr = dir.listFiles(); if (dirArr==null) return; for(int i=0;i < dirArr.length;i++){ if(dirArr[i].isDirectory()){ this.enumDs(dirArr[i]); }else{continue;} //end of if } //end of for dirArr = null; } } //end of FindDir final class MyFilter implements FilenameFilter { String extension; String f; MyFilter(String ext) { this.extension = ext; } public boolean accept(File directory, String f_name) { f = new File(f_name).getName(); boolean result = (f.indexOf(extension) !=-1); f = null; return result; } }
Similar Threads
-
How to Search a List in Java
By Java Tip in forum java.langReplies: 0Last Post: 04-16-2008, 10:38 PM -
Binary Search in Java
By Java Tip in forum AlgorithmsReplies: 0Last Post: 04-15-2008, 07:43 PM -
Java Search Form
By djcottrell in forum New To JavaReplies: 1Last Post: 12-28-2007, 07:47 PM -
New Search engine for Java Programmers
By coolgeek in forum Java SoftwareReplies: 0Last Post: 07-02-2007, 07:41 PM -
File Upload - Single to allow the search of .txt files
By Daniel in forum Advanced JavaReplies: 1Last Post: 06-06-2007, 04:20 AM


LinkBack URL
About LinkBacks
Reply With Quote
Bookmarks