home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / WIN95 / IAVAZIP.EXE / DATA.Z / WildCard.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-08-18  |  1.7 KB  |  73 lines

  1. package com.sfs.util;
  2.  
  3. import java.io.File;
  4. import java.io.FilenameFilter;
  5. import java.util.StringTokenizer;
  6.  
  7. public class WildCard implements FilenameFilter {
  8.    public static final int ALL_DIRS = 1;
  9.    public static final int ONLY_DIRS = 2;
  10.    public static final int ACCEPTED_DIRS = 4;
  11.    public static final int NO_DIRS = 8;
  12.    int DirUsage = 4;
  13.    PatternDescriptor[] Patterns;
  14.  
  15.    public boolean isAccepted(String var1) {
  16.       for(int var2 = 0; var2 < this.Patterns.length; ++var2) {
  17.          if (this.Patterns[var2].equals(var1.toLowerCase())) {
  18.             return true;
  19.          }
  20.       }
  21.  
  22.       return false;
  23.    }
  24.  
  25.    public WildCard(String var1, int var2) {
  26.       this.DirUsage = var2;
  27.       StringTokenizer var3 = new StringTokenizer(var1, ";");
  28.       if (var3.countTokens() == 0) {
  29.          this.Patterns = new PatternDescriptor[1];
  30.          this.Patterns[0] = new PatternDescriptor("*");
  31.       } else {
  32.          this.Patterns = new PatternDescriptor[var3.countTokens()];
  33.  
  34.          for(int var4 = 0; var3.hasMoreTokens(); this.Patterns[var4++] = new PatternDescriptor(var3.nextToken())) {
  35.          }
  36.       }
  37.  
  38.       for(int var5 = 0; var5 < this.Patterns.length; ++var5) {
  39.          System.err.println(this.Patterns[var5]);
  40.       }
  41.  
  42.    }
  43.  
  44.    public boolean accept(File var1, String var2) {
  45.       File var3 = new File(var1, var2);
  46.       if (var3.isDirectory()) {
  47.          switch (this.DirUsage) {
  48.             case 1:
  49.                return true;
  50.             case 4:
  51.                return this.isAccepted(var2);
  52.             case 8:
  53.                return false;
  54.             default:
  55.                return false;
  56.          }
  57.       } else {
  58.          return this.DirUsage == 2 ? false : this.isAccepted(var2);
  59.       }
  60.    }
  61.  
  62.    public static void main(String[] var0) {
  63.       File var1 = new File("/");
  64.       String[] var2 = var1.list(new WildCard("*.gif", 8));
  65.       System.out.println("----------------------------------");
  66.  
  67.       for(int var3 = 0; var3 < var2.length; ++var3) {
  68.          System.out.println(var2[var3]);
  69.       }
  70.  
  71.    }
  72. }
  73.