1 7 34 35 package com.sun.tools.example.debug.gui; 36 37 import java.io.*; 38 import java.util.*; 39 40 public class SearchPath { 41 42 private String pathString; 43 44 private String [] pathArray; 45 46 public SearchPath(String searchPath) { 47 StringTokenizer st = new StringTokenizer(searchPath, File.pathSeparator); 49 List dlist = new ArrayList(); 50 while (st.hasMoreTokens()) { 51 dlist.add(st.nextToken()); 52 } 53 pathString = searchPath; 54 pathArray = (String [])dlist.toArray(new String [dlist.size()]); 55 } 56 57 public boolean isEmpty() { 58 return (pathArray.length == 0); 59 } 60 61 public String asString() { 62 return pathString; 63 } 64 65 public String [] asArray() { 66 return (String [])pathArray.clone(); 67 } 68 69 public File resolve(String relativeFileName) { 70 for (int i = 0; i < pathArray.length; i++) { 71 File path = new File(pathArray[i], relativeFileName); 72 if (path.exists()) { 73 return path; 74 } 75 } 76 return null; 77 } 78 79 81 public String [] children(String relativeDirName, FilenameFilter filter) { 82 SortedSet s = new TreeSet(); for (int i = 0; i < pathArray.length; i++) { 89 File path = new File(pathArray[i], relativeDirName); 90 if (path.exists()) { 91 String [] childArray = path.list(filter); 92 if (childArray != null) { 93 for (int j = 0; j < childArray.length; j++) { 94 if (!s.contains(childArray[j])) { 95 s.add(childArray[j]); 96 } 97 } 98 } 99 } 100 } 101 return (String [])s.toArray(new String [s.size()]); 102 } 103 104 } 105 | Popular Tags |