Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
What Is commons-io-2.11.jar
What Is commons-io-2.11.jar?
✍: FYIcenter.com
commons-io-2.11.jar is the JAR file for Commons IO 2.5,
which is a library of utilities to assist with developing IO functionality.
JAR File Size and Download Location:
JAR name: commons-io-2.11.0.jar Target JDK version: 8 Dependency: None File name: commons-io.jar, commons-io-2.11.0.jar File size: 327135 bytes Release date: 01-22-2020 Download: Apache Commons IO Website
Java source code files for commons-io-2.11.jar are:
⏎ org/apache/commons/io/file/DeletingPathVisitor.java
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.commons.io.file; import java.io.IOException; import java.nio.file.FileVisitResult; import java.nio.file.Files; import java.nio.file.LinkOption; import java.nio.file.NoSuchFileException; import java.nio.file.Path; import java.nio.file.attribute.BasicFileAttributes; import java.util.Arrays; import java.util.Objects; import org.apache.commons.io.file.Counters.PathCounters; /** * Deletes files and directories as a visit proceeds. * * @since 2.7 */ public class DeletingPathVisitor extends CountingPathVisitor { /** * Creates a new instance configured with a BigInteger {@link PathCounters}. * * @return a new instance configured with a BigInteger {@link PathCounters}. */ public static DeletingPathVisitor withBigIntegerCounters() { return new DeletingPathVisitor(Counters.bigIntegerPathCounters()); } /** * Creates a new instance configured with a long {@link PathCounters}. * * @return a new instance configured with a long {@link PathCounters}. */ public static DeletingPathVisitor withLongCounters() { return new DeletingPathVisitor(Counters.longPathCounters()); } private final String[] skip; private final boolean overrideReadOnly; private final LinkOption[] linkOptions; /** * Constructs a new visitor that deletes files except for the files and directories explicitly given. * * @param pathCounter How to count visits. * @param deleteOption How deletion is handled. * @param skip The files to skip deleting. * @since 2.8.0 */ public DeletingPathVisitor(final PathCounters pathCounter, final DeleteOption[] deleteOption, final String... skip) { this(pathCounter, PathUtils.NOFOLLOW_LINK_OPTION_ARRAY, deleteOption, skip); } /** * Constructs a new visitor that deletes files except for the files and directories explicitly given. * * @param pathCounter How to count visits. * @param linkOptions How symbolic links are handled. * @param deleteOption How deletion is handled. * @param skip The files to skip deleting. * @since 2.9.0 */ public DeletingPathVisitor(final PathCounters pathCounter, final LinkOption[] linkOptions, final DeleteOption[] deleteOption, final String... skip) { super(pathCounter); final String[] temp = skip != null ? skip.clone() : EMPTY_STRING_ARRAY; Arrays.sort(temp); this.skip = temp; this.overrideReadOnly = StandardDeleteOption.overrideReadOnly(deleteOption); // TODO Files.deleteIfExists() never follows links, so use LinkOption.NOFOLLOW_LINKS in other calls to Files. this.linkOptions = linkOptions == null ? PathUtils.NOFOLLOW_LINK_OPTION_ARRAY : linkOptions.clone(); } /** * Constructs a new visitor that deletes files except for the files and directories explicitly given. * * @param pathCounter How to count visits. * * @param skip The files to skip deleting. */ public DeletingPathVisitor(final PathCounters pathCounter, final String... skip) { this(pathCounter, PathUtils.EMPTY_DELETE_OPTION_ARRAY, skip); } /** * Returns true to process the given path, false if not. * * @param path the path to test. * @return true to process the given path, false if not. */ private boolean accept(final Path path) { return Arrays.binarySearch(skip, Objects.toString(path.getFileName(), null)) < 0; } @Override public boolean equals(final Object obj) { if (this == obj) { return true; } if (!super.equals(obj)) { return false; } if (getClass() != obj.getClass()) { return false; } final DeletingPathVisitor other = (DeletingPathVisitor) obj; return overrideReadOnly == other.overrideReadOnly && Arrays.equals(skip, other.skip); } @Override public int hashCode() { final int prime = 31; int result = super.hashCode(); result = prime * result + Arrays.hashCode(skip); result = prime * result + Objects.hash(overrideReadOnly); return result; } @Override public FileVisitResult postVisitDirectory(final Path dir, final IOException exc) throws IOException { if (PathUtils.isEmptyDirectory(dir)) { Files.deleteIfExists(dir); } return super.postVisitDirectory(dir, exc); } @Override public FileVisitResult preVisitDirectory(final Path dir, final BasicFileAttributes attrs) throws IOException { super.preVisitDirectory(dir, attrs); return accept(dir) ? FileVisitResult.CONTINUE : FileVisitResult.SKIP_SUBTREE; } @Override public FileVisitResult visitFile(final Path file, final BasicFileAttributes attrs) throws IOException { if (accept(file)) { // delete files and valid links, respecting linkOptions if (Files.exists(file, linkOptions)) { if (overrideReadOnly) { PathUtils.setReadOnly(file, false, linkOptions); } Files.deleteIfExists(file); } // invalid links will survive previous delete, different approach needed: if (Files.isSymbolicLink(file)) { try { // deleteIfExists does not work for this case Files.delete(file); } catch (final NoSuchFileException e) { // ignore } } } updateFileCounters(file, attrs); return FileVisitResult.CONTINUE; } }
⏎ org/apache/commons/io/file/DeletingPathVisitor.java
Or download all of them as a single archive file:
File name: commons-io-2.11.0-sources.jar File size: 398939 bytes Release date: 2020-01-22 Download
⇒ Download and Install commons-io-2.6-bin.zip
⇐ What Is commons-io-2.11-bin.zip
2022-11-10, 68673👍, 2💬
Popular Posts:
A stream buffer is a stream-based representation of an XML infoset in Java. Stream buffers are desig...
JDK 11 java.security.jgss.jmod is the JMOD file for JDK 11 Security JGSS (Java Generic Security Serv...
What is the sax\Writer.java provided in the Apache Xerces package? I have Apache Xerces 2.11.0 insta...
How to download and install ojdbc6.jar for Oracle 11g R2? ojdbc6.jar for Oracle 11g R2 is a Java 6, ...
How to download and install JDK (Java Development Kit) 1.3? If you want to write Java applications, ...