comparison flys-backend/src/main/java/de/intevation/flys/utils/FileTools.java @ 1213:cc88db4a5b34

Added method walkTree() to traverse a directory tree. To be reused in HYK parser. flys-backend/trunk@2339 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Fri, 15 Jul 2011 15:36:59 +0000
parents 7121a40671ff
children
comparison
equal deleted inserted replaced
1212:dd948530fd57 1213:cc88db4a5b34
190 out.add(hf.file); 190 out.add(hf.file);
191 } 191 }
192 192
193 return out; 193 return out;
194 } 194 }
195
196 public interface FileVisitor {
197 boolean visit(File file);
198 } // Visitor
199
200 public static void walkTree(File root, FileVisitor visitor) {
201
202 Stack<File> stack = new Stack<File>();
203
204 stack.push(root);
205
206 while (!stack.isEmpty()) {
207 File current = stack.pop();
208 if (!visitor.visit(current)) break;
209 if (current.isDirectory()) {
210 File [] subs = current.listFiles();
211 if (subs != null) {
212 for (File f: subs) {
213 stack.push(f);
214 }
215 }
216 }
217 }
218 }
195 } 219 }
196 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 220 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org