Rev 6 | Rev 11 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 6 | Rev 10 | ||
|---|---|---|---|
| Line 15... | Line 15... | ||
| 15 | # ========================================================================== */ |
15 | # ========================================================================== */ |
| 16 | 16 | ||
| 17 | import java.io.*; |
17 | import java.io.*; |
| 18 | import java.util.*; |
18 | import java.util.*; |
| 19 | 19 | ||
| 20 | public class filefind /*implements Runnable */ |
20 | public class filefind |
| 21 | { |
21 | { |
| 22 | protected File base; |
22 | protected File base; |
| 23 | protected PrintStream out; |
23 | protected PrintStream out; |
| 24 | 24 | ||
| 25 | static void Usage(String progname, String mesg) |
25 | static void Usage(String progname, String mesg) |
| Line 40... | Line 40... | ||
| 40 | System.err.println("Caught IOException: " + ie.getMessage()); |
40 | System.err.println("Caught IOException: " + ie.getMessage()); |
| 41 | result = false; |
41 | result = false; |
| 42 | } |
42 | } |
| 43 | return result; |
43 | return result; |
| 44 | } |
44 | } |
| 45 | /** |
- | |
| 46 | * Create a filefind object for the given string, with |
- | |
| 47 | * a print indentation given. |
- | |
| 48 | */ |
45 | |
| 49 | public filefind(String filename) |
46 | public filefind(String filename) |
| 50 | { |
47 | { |
| 51 | base = new File(filename); |
48 | base = new File(filename); |
| 52 | } |
49 | } |
| 53 | 50 | ||
| 54 | public void start_traverse(String directory) |
51 | static void start_traverse(File base, String basename) |
| 55 | { |
52 | { |
| 56 | System.out.println(directory); |
53 | System.out.println(basename); |
| 57 | traverse(base); |
54 | traverse(base); |
| 58 | } |
55 | } |
| 59 | 56 | ||
| 60 | static void traverse(File b) |
57 | static void traverse(File b) |
| 61 | { |
58 | { |
| 62 | String curdir; |
- | |
| 63 | curdir = b.getAbsolutePath(); |
- | |
| 64 | System.setProperty("user.dir",curdir); |
- | |
| 65 | - | ||
| 66 | File [] subs = b.listFiles(); |
59 | File [] subs = b.listFiles(); |
| 67 | for(int i = 0; i < subs.length; i++) |
60 | for(int i = 0; i < subs.length; i++) |
| 68 | { |
61 | { |
| 69 | //File f2 = new File(subs[i]); |
- | |
| 70 | if (subs[i].isDirectory() && !issymlink(subs[i])) |
62 | if (subs[i].isDirectory() && !issymlink(subs[i])) |
| 71 | { |
63 | { |
| 72 | System.out.println(subs[i]); |
64 | System.out.println(subs[i]); |
| 73 | traverse(subs[i]); |
65 | traverse(subs[i]); |
| 74 | } |
66 | } |
| 75 | else |
67 | else |
| 76 | { |
68 | { |
| 77 | System.out.println(subs[i]); |
69 | System.out.println(subs[i]); |
| 78 | } |
70 | } |
| 79 | } |
71 | } |
| 80 | System.setProperty("user.dir",curdir); |
- | |
| 81 | } |
72 | } |
| 82 | 73 | ||
| 83 | /* ============================================================================ |
74 | /* ============================================================================ |
| 84 | # MAIN |
75 | # MAIN |
| 85 | # ========================================================================== */ |
76 | # ========================================================================== */ |
| Line 92... | Line 83... | ||
| 92 | { |
83 | { |
| 93 | basename = args[0]; |
84 | basename = args[0]; |
| 94 | File base = new File(basename); |
85 | File base = new File(basename); |
| 95 | if (base.isDirectory()) |
86 | if (base.isDirectory()) |
| 96 | { |
87 | { |
| 97 | filefind walker = new filefind(basename); |
- | |
| 98 | //walker.setOutput(System.out); |
- | |
| 99 | walker.start_traverse(basename); |
88 | start_traverse(base, basename); |
| 100 | } |
89 | } |
| 101 | else |
90 | else |
| 102 | { |
91 | { |
| 103 | Usage(progname, "ERROR: No directory " + basename + " found"); |
92 | Usage(progname, "ERROR: No directory " + basename + " found"); |
| 104 | } |
93 | } |