import java.util.Arrays; import java.util.Collections; import java.io.File; import java.io.FilenameFilter; class EndFileFilter implements FilenameFilter { private String EndFilter; public EndFileFilter(String arg) { EndFilter = arg; } public boolean accept(File dir, String name) { return name.endsWith(EndFilter) || name.endsWith(EndFilter.toUpperCase()) || name.endsWith(EndFilter.toLowerCase()); } } public class EndFilter { public static String[] getlist(String endfilter, String folder) { String[] dir; dir = new java.io.File(folder).list(new EndFileFilter(endfilter)); // Get list of names return dir; } public static void main(String[] args) { if (args.length < 1) { System.out.println("Too few arguments"); System.out.println("Syntax: java EndFilter [folder name] [characters not to display]"); return; } String[] FileList = null; String EndFilter = args[0]; String FolderName = args.length >= 2?args[1]:"."; int RemoveLength = args.length >= 3?Integer.valueOf(args[2]).intValue():0; if (RemoveLength < 0) { RemoveLength = 0; } FileList = getlist(EndFilter,FolderName); // Get filtered list of names try { Collections.shuffle(Arrays.asList(FileList)); // Randomize file list } catch (NullPointerException i) { return; //Folder not found } for (int i = 0; i < FileList.length; i++) { System.out.println(FileList[i].substring(0,FileList[i].length() - RemoveLength)); } } }