diff options
author | Camil Staps | 2015-05-12 13:24:42 +0200 |
---|---|---|
committer | Camil Staps | 2015-05-12 13:24:42 +0200 |
commit | 3b97d506135bcef906d267ecac7bd4df3482de04 (patch) | |
tree | 14e259d2704a51d1f13525d0314990189b667c7a | |
parent | Week12 Find file (diff) |
Comments & javadoc
-rw-r--r-- | Week12 Find File/src/com/camilstaps/findfile/FileFinder.java | 42 | ||||
-rw-r--r-- | Week12 Find File/src/com/camilstaps/findfile/Week12FindFile.java | 27 |
2 files changed, 60 insertions, 9 deletions
diff --git a/Week12 Find File/src/com/camilstaps/findfile/FileFinder.java b/Week12 Find File/src/com/camilstaps/findfile/FileFinder.java index 80e06da..97726d2 100644 --- a/Week12 Find File/src/com/camilstaps/findfile/FileFinder.java +++ b/Week12 Find File/src/com/camilstaps/findfile/FileFinder.java @@ -1,22 +1,46 @@ /* - * Copyright (c) 2015 Camil Staps + * The MIT License (MIT) + * + * Copyright (c) 2015 Camil Staps <info@camilstaps.nl> + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. */ package com.camilstaps.findfile; import java.io.File; import java.io.IOException; -import java.util.logging.Level; -import java.util.logging.Logger; /** - * - * @author camilstaps + * Recursively find a file using threads + * @author Camil Staps s4498062 */ public class FileFinder implements Runnable { private final File rootDir; private final String search; + /** + * Create an instance of the FileFinder + * @param root the name of the directory in which to search + * @param search the filename to search for + * @throws IOException if root is not the name of a directory + */ public FileFinder(String root, String search) throws IOException { rootDir = new File(root); if (!rootDir.exists() || !rootDir.isDirectory()) { @@ -31,8 +55,14 @@ public class FileFinder implements Runnable { find(rootDir, search); } + /** + * Recursively find a file with a name in a directory + * A new thread is created for every directory encountered + * @param dir the directory + * @param name the name + */ private void find(File dir, String name) { - File[] files = rootDir.listFiles(); + File[] files = dir.listFiles(); if (files == null) return; for (File file : files) { if (file.getName().equals(name)) { diff --git a/Week12 Find File/src/com/camilstaps/findfile/Week12FindFile.java b/Week12 Find File/src/com/camilstaps/findfile/Week12FindFile.java index 4c59e7e..e543fc3 100644 --- a/Week12 Find File/src/com/camilstaps/findfile/Week12FindFile.java +++ b/Week12 Find File/src/com/camilstaps/findfile/Week12FindFile.java @@ -1,17 +1,38 @@ /* - * Copyright (c) 2015 Camil Staps + * The MIT License (MIT) + * + * Copyright (c) 2015 Camil Staps <info@camilstaps.nl> + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. */ package com.camilstaps.findfile; import java.io.IOException; /** - * - * @author camilstaps + * Solutions to Week12, part 1 + * @author Camil Staps s4498062 */ public class Week12FindFile { /** + * Usage: java Week12FindFile searchdir filename * @param args the command line arguments */ public static void main(String[] args) { |