Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package deleteme;
- import java.io.File;
- import java.io.FilenameFilter;
- import java.nio.file.Files;
- import java.nio.file.Path;
- import java.nio.file.attribute.AclEntry;
- import java.nio.file.attribute.AclEntryPermission;
- import java.nio.file.attribute.AclFileAttributeView;
- import java.nio.file.attribute.BasicFileAttributes;
- import java.nio.file.attribute.UserPrincipal;
- import java.util.List;
- import java.util.Set;
- public class FilenameExluder implements FilenameFilter {
- Set<String> excluded;
- public FilenameExluder(Set<String> excluded) {
- this.excluded = excluded;
- }
- @Override
- public boolean accept(File dir, String name) {
- boolean accept = !this.excluded.contains(name);
- if (!accept) {
- System.err.printf("Exclude %s!%n", name);
- File file = new File(dir, name);
- try {
- Path path = file.toPath();
- //show windows basic file attribute data
- BasicFileAttributes attr = Files.readAttributes(path, BasicFileAttributes.class);
- System.err.println("creationTime: " + attr.creationTime());
- System.err.println("lastAccessTime: " + attr.lastAccessTime());
- System.err.println("lastModifiedTime: " + attr.lastModifiedTime());
- //show windows acl stuff
- AclFileAttributeView view = Files.getFileAttributeView(path, AclFileAttributeView.class);
- if (view != null) {
- try {
- List<AclEntry> acls = view.getAcl();
- if (acls != null) {
- for (AclEntry acl : acls) {
- UserPrincipal principle = acl.principal();
- if (principle != null) {
- String userOrGroup = acl.principal().getName();
- Set<AclEntryPermission> permissions = acl.permissions();
- if (permissions != null) {
- for (AclEntryPermission permission : permissions) {
- System.err.printf("file: %s, user: %s, perm: %s%n", file.getName(), userOrGroup, permission.toString());
- }
- }
- }
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- } catch (Exception e) {
- System.err.printf("Oh snap!.. that sucked.. %s", e.getLocalizedMessage());
- e.printStackTrace();
- }
- }
- return accept;
- }
- }
- package deleteme;
- import java.io.File;
- import java.util.HashSet;
- import java.util.Set;
- import java.util.Stack;
- public class FindFiles implements Runnable {
- public static void main(String[] args) {
- FindFiles worker = new FindFiles();
- worker.run();
- }
- @Override
- public void run() {
- buildDecendants();
- doPost();
- }
- Set<String> excludeList = new HashSet<>();
- public void doPost() {
- //build unc
- File root = new File(".");
- Stack<String> stack = new Stack<>();
- stack.push(root.getAbsolutePath());
- while (!stack.isEmpty()) {
- File next = new File(stack.pop());
- boolean isFile = next.isFile();
- System.out.printf("[type: %s] [path: %s]%n", (isFile ? "file" : "dir"), next.getAbsolutePath());
- if (!isFile) {
- String [] childnames = next.list(new FilenameExluder(excludeList));
- if (childnames != null) {
- for (String childname : childnames) {
- File fChild = new File(next, childname);
- stack.push(fChild.getAbsolutePath());
- }
- }
- }
- }
- }
- public void buildDecendants() {
- //do some work
- excludeList.add("MessagesBundle_en_US.properties");
- excludeList.add("FindVMWithPublishToHostEnabled.java");
- }
- }
- run:
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/.]
- Exclude MessagesBundle_en_US.properties!
- creationTime: 2018-10-27T05:13:58Z
- lastAccessTime: 2019-01-30T03:30:08Z
- lastModifiedTime: 2018-10-27T05:14:03Z
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src]
- Exclude MessagesBundle_en_US.properties!
- creationTime: 2018-10-27T05:17:50Z
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/deleteme]
- lastAccessTime: 2019-01-30T03:30:08Z
- lastModifiedTime: 2018-10-27T05:17:50Z
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/deleteme/Folder.java]
- Exclude FindVMWithPublishToHostEnabled.java!
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/deleteme/PdfToWord.java]
- creationTime: 2017-07-23T13:44:27Z
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/deleteme/SomeObject.java]
- lastAccessTime: 2019-02-22T04:31:16Z
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/deleteme/KuafMapping.java]
- lastModifiedTime: 2017-07-23T16:22:50Z
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/deleteme/OcrFile.java]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/deleteme/FilenameExluder.java]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/deleteme/FindFiles.java]
- Exclude MessagesBundle_en_US.properties!
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/deleteme/DeleteMe.java]
- creationTime: 2018-10-27T05:17:50Z
- lastAccessTime: 2019-01-31T05:40:38Z
- lastModifiedTime: 2019-01-30T04:44:21Z
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/deleteme/DeleteMe2.java]
- Exclude FindVMWithPublishToHostEnabled.java!
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/deleteme/KuafEntity.java]
- creationTime: 2018-08-31T20:34:57Z
- lastAccessTime: 2019-01-29T19:31:40Z
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/deleteme/UpdateLicenseFile.java]
- lastModifiedTime: 2018-08-31T20:34:57Z
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/MessagesBundle.properties]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/GenerateCSVFromXML.java]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/Test.java]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/MessagesBundle_de_DE.properties]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/MessagesBundle_fr.properties]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/Split.java]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/I18SNSample.java]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/NotI18N.java]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./src/PrintHierarcyFromXML.java]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./paths-full.csv]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./b64util.html]
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build]
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/NotI18N.class]
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/Folder.java]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/FilenameExluder.class]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/KuafEntity.class]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/PdfToWord.java]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/OcrFile.class]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/KuafMapping.java]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/DeleteMe2.class]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/KuafMapping.class]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/OcrFile.java]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/PdfToWord.class]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/Folder.class]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/DeleteMe.java]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/FindVMWithPublishToHostEnabled.class]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/DeleteMe2.java]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/DeleteMe.class]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/UpdateLicenseFile.class]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/KuafEntity.java]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/UpdateLicenseFile$1.class]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/UpdateLicenseFile.java]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/FindFiles.class]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/deleteme/SomeObject.class]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/PrintHierarcyFromXML.class]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/MessagesBundle.properties]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/I18SNSample.class]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/Test.java]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/MessagesBundle_de_DE.properties]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/Split.class]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/MessagesBundle_fr.properties]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/Split.java]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/Test.class]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/GenerateCSVFromXML.class]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/.netbeans_automatic_build]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build/classes/.netbeans_update_resources]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./MessagesBundle.properties]
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./nbproject]
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./nbproject/configs]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./nbproject/configs/I18SNSample.properties]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./nbproject/configs/PdfToWord.properties]
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./nbproject/private]
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./nbproject/private/profiler]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./nbproject/private/profiler/settings.xml]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./nbproject/private/config.properties]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./nbproject/private/private.xml]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./nbproject/private/private.properties]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./nbproject/project.xml]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./nbproject/genfiles.properties]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./nbproject/project.properties]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./nbproject/build-impl.xml]
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib]
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/jdom]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/jdom/jdom-2.0.6.jar]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/jdom/jdom-2.0.6-javadoc.jar]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/jdom/jdom-2.0.6-sources.jar]
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/aspose-cells]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/aspose-cells/bcprov-jdk16-146.jar]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/aspose-cells/aspose-cells-17.7.jar]
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/aspose-words]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/aspose-words/aspose-words-javadoc.zip]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/aspose-words/aspose-words.jar]
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/Apache_Commons_IO]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/Apache_Commons_IO/commons-io-2.5-javadoc.jar]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/Apache_Commons_IO/commons-io-2.5.jar]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/nblibraries.properties]
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/aspose-email]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/aspose-email/aspose-email-17.9-javadoc.jar]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/aspose-email/aspose-email-17.9-jdk16.jar]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/aspose-email/bcprov-jdk15on-1.52.jar]
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/CopyLibs]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar]
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/apache-log4j-1x]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/apache-log4j-1x/log4j-1.2.17.jar]
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/aspose-pdf]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/aspose-pdf/aspose-pdf.jar]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./lib/aspose-pdf/aspose-pdf-javadoc.jar]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./rmclassficiations.csv]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./MessagesBundle_de_DE.properties]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./MessagesBundle_fr_FR.properties]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./metadata.xml]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./error.log]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./build.xml]
- [type: dir] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./test]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./names.txt]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./paths-tabbed.csv]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./manifest.mf]
- [type: file] [path: /Users/ossiemoore/NetBeansProjects/DeleteMe/./logger.properties]
- BUILD SUCCESSFUL (total time: 0 seconds)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement