This is an automated email from the ASF dual-hosted git repository. ggregory pushed a change to branch release in repository https://gitbox.apache.org/repos/asf/commons-io.git
from 9b9aca6fd Bump to next development version add 5e8d3f489 fix and reenable testSkip_RequiredCharsets (#518) add 4b194a59d Fix and reenable testSkip_RequiredCharsets #518 add d18e81487 Use JUnit 5 parameterized tests add 980b2049b Remove unused imports add 7ca6a79dd Remove extra blank lines add ba9972100 Drop Coveralls add 7bd05817d Merge branch 'release' add 71cb8cce4 Bump actions/setup-java from 3.13.0 to 4.0.0 add 3dad24611 Bump actions/setup-java from 3.13.0 to 4.0.0 add a1f310897 Bump actions/setup-java from 3.13.0 to 4.0.0 add 7bf7432fd [IO-824] SymbolicLineFileFilter documentation fixes Javadoc add dccc70110 [IO-824] SymbolicLineFileFilter documentation fixes Javadoc add 3e7f57784 [IO-795] CharSequenceInputStream.reset() only works once (#520) add afcf3ce39 [IO-795] CharSequenceInputStream.reset() only works once #520 add c819db0dc Sort members add f33582acb Fix link to the user mailing list add 50cfd1498 [IO-825] Add byte array size validation for methods in EndianUtils (#521) add 6b6e350e1 [IO-825] Add byte array size validation for methods in EndianUtils #521 add 8a44c3c13 Add CircularByteBufferTest add c0b73ce84 Add CircularByteBufferTest add 0ff8aae97 Bump github/codeql-action from 2.22.8 to 2.22.9 (#522) add bf291ec2f Javadoc: Remove redundant "java.lang" prefix add 3a17e346e Use constant instead of magic string add 273a50409 Bump github/codeql-action from 2.22.9 to 2.22.10 add d08724055 Bump github/codeql-action from 2.22.9 to 2.22.10 add 5dff98711 Javadoc add 88fc0f0d8 Bump actions/upload-artifact from 3.1.3 to 4.0.0 (#523) add 0abbea9f2 Bump github/codeql-action from 2.22.10 to 3.22.11 (#524) add aef647206 Use StandardCharsets instead of magic string add 40af9d674 Use try-with-resources add a8ee7b9de Add and use PathUtils.getFileNameString() add 2a0c2c4e8 Javadoc add e73aa1d6c [IO-781] Make CharSequenceInputStream.available() more correct in the face of multibyte encodings (#525) add 350123f03 [IO-781] Make CharSequenceInputStream.available() more correct in the face of multibyte encodings #525 add 6258b40a1 Sort members add 52c92156c [IO-781] Make CharSequenceInputStream.available() more correct in the face of multibyte encodings #525 add 85fa16432 Typo add 00df1aa08 remove unreachable code (#526) add 9bcaf436f Remove unreachable code in AbstractIOFileFilterTest #526 add 6b0ed87f7 [IO-826] Add BrokenInputStream.BrokenInputStream(RuntimeException) add 64a2059eb add test for IO-128 add 12453a3a6 Merge pull request #532 from elharo/IO-128 add aeffacde1 remove some unused variables Eclipse warned about add 29dc5ea04 Merge pull request #531 from elharo/unused2 add 33db63489 [IO-808] Rationalize and unify checking for existence of files and directories (#529) add eee328b1b [IO-808] Rationalize and unify checking for existence of files and directories #529 add dd63fa3b5 [IO-826] Reimplemented add runtime exception support to broken streams (#530) add 5ec8d5e2d [IO-826] Add runtime exception support to broken streams #530 add 79ab99bad [IO-826] Add runtime exception support to broken streams #530 add c91701c4b [IO-826] Add runtime exception support to broken streams #530 add da7490242 Javadoc spelling add 035e04870 Javadoc spelling add 9aa8ef35d [IO-808] remove redundant checks; improve Javadoc (#533) add 08bf6d00e [IO-808] Internal refactoring add 7d44bb77c More tests and NPE-proofing add 87ef95560 Avoid NullPointerException in file filters add bcf8fbbc3 Avoid NullPointerException in IOCase.checkIndexOf(String, int, String) on null input add b8fdf4e90 Better Javadoc add 3c13a0757 Avoid NullPointerException in IOCase.checkRegionMatches(String, int, String) on null input add 258173faf Try to adjust test for Windows. add e778286df Bump commons.bytebuddy.version from 1.14.10 to 1.14.11 (#534) add 0bcfe53af Bump commons.bytebuddy.version from 1.14.10 to 1.14.11 #534 add cd2e52306 BoundedInputStream.getCount() should not count EOF add 6a94260c2 Add FileTimes.toNtfsTime(long) add 6813e574c Add FileTimes.fromUnixTime(long) add c24c48ccc Don't trigger workflows unnecessarily [skip ci] add e3f991ed5 Deploy snapshot add 6e615bb8c Merge branch 'master' of https://ggreg...@gitbox.apache.org/repos/asf/commons-io.git add cae58ff44 Javadoc add d5898c1cd Add FileTimes.isUnixTime(FileTime) add 1db65f599 Sort members add 7d41cb1a0 Use final add a01bbfbe4 Add BrokenInputStream.Builder add 89ef7726a Javadoc add b059cd3a8 Javadoc add ce52198be Add PathUtils.getExtension(Path) add 95e16820c Fix test on Windows add a9cab986b Use StandardCharsets add 72da9c209 Use StandardCharsets add 4a0eab260 Oops; need to limit deploys add 85945ac5c Update NOTICE file for 2024 add 7806142df More modern temp file creation and deletion (#535) add c017a7704 Modernize temp file creation and deletion in DeferredFileOutputStreamTest #535 add 1f8fb97d3 Add PathMatcher to IOFileFilter class Javadoc #536 add f7bd5f991 Add missing test add 703b28397 Add ThrottledInputStream add 3ad3bdb8d [IO-781] Fix CharSequenceInputStream coding exception handling (#537) add 98e1f3b75 [IO-781] Fix CharSequenceInputStream coding exception handling #537 add 11b7a0ed5 Better description add 34571f725 Use better API add 75750db98 Deprecate int CountingInputStream#getCount() in favor of long CountingInputStream#getByteCount() add 92266f4cb add PathMatcher to class comment (#536) add d57f3c7e2 Javadoc add e28584c12 Add TODO add d0c53cdba Reuse ProxyInputStream add 713e96462 Internal reuse add 99702ec5c Reuse CountingInputStream add ccf663d8d [IO-828] Deprecate CountingInputStream.resetCount() add abaae750a Deprecate CountingInputStream.getMaxLength() in favor of getMaxCount()) add 53d22fd7b Javadoc add 52fb5b2b7 Javadoc add 9293f5f40 [IO-818] NullInputStream breaks InputStream's read method contract add 3ac3e28d1 The API doc for 3.16 doesn't need to reference 1.x behavior (#539) add 98fb7eb5e Javadoc shouldn't reference 1.x behavior #539 add 242a10d85 [IO-795] Finish TODO on CharSequenceInputStream (#540) add f43cc9c12 [IO-795] Finish TODO on CharSequenceInputStream #540 add 4114db4a2 limit public API to enhance evolvability in future (#538) add fc8a044fd don't decode and reencode characters in a potentially different charset (#541) add d428a080d [IO-829] Don't decode and reencode characters in a potentially different charset in AbstractOrigin.CharSequenceOrigin.getReader(Charset) add 3c53c39c4 [IO-829] Don't decode and reencode characters in a potentially different charset in AbstractOrigin.CharSequenceOrigin.getReader(Charset) add 7ea97b34f Internal refactoring add b3ea80eb4 Reuse IOUtils.EOF add b11083d53 Only need 'this' in ctor and setters add f5056ca63 Less verbose add 245509b54 Revert "Less verbose" add 64f321bdc Let subclasses of CountingInputStream.afterRead(int) throw IOException add d05e9cc0e Add IORunnable.noop() add 2515c1950 Bump github/codeql-action from 3.22.11 to 3.22.12 (#542) add 063463f51 Merge branch 'master' of https://ggreg...@gitbox.apache.org/repos/asf/commons-io.git add cd5057aa5 Javadoc spelling add a765aef88 Move less edited sections to the bottom add 9975dd46c reduce noise in tests (#545) add a229f90c3 Uncomment and update null tests for FileUtils.toURLs(File...) (#546) add 0fbae67fb Keep members sorted add 9e0b5174f [IO-807] Characterization test for broken symlinks when copying directories (#547) add 8e37c6518 [IO-807] Characterization test for broken symlinks when copying directories #547 add 33551deb1 ClosedInputStream.read(byte[], int, int) does not always return -1 add fccd86175 Add missingg tests add 653fd9100 Javadoc add ccfee1dc1 ClosedOutputStream.write(byte[], int, int) does not always throw IOException add b51f3842f Fix Javadoc warning add f8327c74d tidy up API doc for copy methods (#549) add 555647f9f Remove extra whitespace add 17f8b44d5 XmlStreamReader can't parse XML document with multi-line prolog #550 add bbff10dec Javadoc add 2d2a4d280 Javadoc add 129eb40c2 XmlStreamReader can't parse XML an document with an external parsed entity prolog add c54c04422 Move license header to the top of the file add 46892fc47 Add ChecksumInputStream and test (#548) add aa307b340 Add ChecksumInputStream and test #548 add d53a5f39f Add test assertion add 511a95ae0 Assert read results add 83a6d8b85 [IO-836] Update FileNameUtils Javadoc (#554) add 4c4a803dd Update FileNameUtils Javadoc #554 add f96660044 Bump github/codeql-action from 3.22.12 to 3.23.0 (#555) add 1eaf0e447 Bump actions/cache from 3.3.2 to 3.3.3 (#556) add 52c8bd0f7 Add a test add f94af4ae6 Javadoc add ff6c3ec5e Add PathUtils.getBaseName(Path) add 877d3404c Javadoc add 1a6c3318e Javadoc add b519c7e61 Use same parameter name as in superclass add 4616d0f03 Javadoc: Use an HTTPS URL to the Apache web site add 876e8c34b Javadoc: Use an HTTPS URL add e8a073978 Fix Checkstyle add ec4144b01 [IO-807] Copy symlinks, not the files the symlinks point to (#558) add 3988bd01a [IO-807] Copy symlinks, not the files the symlinks point to #558 add b7b8ed9d4 Pickup apache-rat-plugin version from parent POM add 86e44f004 Use *= add d23f3e970 Javadoc add a0615c64e Inline single-use local variable add 0b26f32d0 Bump actions/upload-artifact from 4.0.0 to 4.2.0 (#559) add 8ab7259dd Bump actions/cache from 3.3.3 to 4.0.0 (#561) add 18e62be63 Bump github/codeql-action from 3.23.0 to 3.23.1 (#560) add eb76a3473 Declutter: Tests don't need Javadoc @since tags add 9d8a87cee Normalize end of comments add e53504e95 add test for copying a symlink (#564) add 5e8fdba2c AAdd test for copying a symlink FileUtilsTest#testCopyFile_symLink() #564 add 4f71ae00a Make copyFile copy symbolic links by value rather than reference (#565) add 786c7d1ce Make copyFile copy symbolic links by value rather than reference #565 add 4bd93ec05 avoid deprecated methods and other minor cleanups in FileUtilsTest (#562) add 634cb3d3c Depreacte CopyUtils 0-argument contructor add 93497c5a7 Depreacte EndianUtils 0-argument contructor add cd9f56023 Depreacte FilenameUtils 0-argument contructor add 945040ff6 Depreacte FileSystemUtils 0-argument contructor add 55ffd6b32 Normalize comment add 5b72e42e4 Fix comments add d46786c32 Normalize comment add a8c441d64 Depreacte RandomAccessFiles 0-argument contructor add 649585e6e Normalize comment add b389b9040 Document deprecations add e99c56f1e Javadoc: Normalize @deprecated add 4dd5e0e90 Bump codecov/codecov-action from 3.1.4 to 3.1.5 (#567) add 600d6ea95 Bump actions/upload-artifact from 4.2.0 to 4.3.0 (#568) add 96de251ca Clarify and correct EndianUtils and SwappedDataInputStream API doc (#566) add 546a4d229 Clarify and correct EndianUtils and SwappedDataInputStream API doc #566 add 278ca074a Add characterization test for copying a symlinked directory (#570) add 7081079bf Add characterization test for copying a symlinked directory #570 add fcc43a625 Add org.apache.commons.io.input.AutoCloseInputStreamTest.testBuilderGet() add 47ae59946 Add org.apache.commons.io.input.BOMInputStreamTest.testBuilderGet() add 7fb1b50b9 Add org.apache.commons.io.input.BOMInputStreamTest.testBuilderGet() add a2eb0ac0e Sort members add a4619d8c9 Sort imports add f376f3b61 org.apache.commons.io.input.BoundedInputStreamTest.testBuilderGet() add b5de1f755 Add org.apache.commons.io.input.BufferedFileChannelInputStreamTest.testBuilderGet() add 6dbf49738 RandomAccessFileInputStream.builder().get() now throws ISE instead of NPE add 15b2ac6c6 Javadoc add 5e3c7e8ff Javadoc add 3b95c8c49 Add and use AbstractStreamBuilder.getReader() add 4ad9b41d0 Add missing XML Schema reference add 52971e4d6 Bump org.apache.commons:commons-parent from 65 to 66 add 2addb4e01 [IO-845] test links to targets outside the source directory (#571) add 8bf6807f2 Test links to targets outside the source directory #571 add 1db41c9ad Typo add 3f66ba69e Internal refactoring add 5c304f9fb Fix whitespace add 062eab5a0 Javadoc add d9d4929c5 Rename private method add 58dce3d55 Javadoc add 89ce8c14a Rename private methods add 57ab49f51 Internal renaming add 9ccd4a54a Simply internals with Streams add 27738f0c2 Internal renames add 436770904 Typo in local variable name add ac62df0d1 Normalize inline comments add 1589db4ed Focus Javadoc on current version rather than past versions (#573) add 54bc620d6 Focus Javadoc on current version rather than past versions #573 add 18e85dee3 Update URLs and remove broken links (#574) add 1f419c7be Javadoc #574 add 858f5cf23 More specific catch clause in FileUtils.decodeUrl() (#575) add cfd4d8603 Merge branch 'master' of https://ggreg...@gitbox.apache.org/repos/asf/commons-io.git add 26654b751 Bump github/codeql-action from 3.23.1 to 3.23.2 (#579) add aabd209bb Bump codecov/codecov-action from 3.1.5 to 4.0.1 (#578) add 6fa4cdc83 repair bad asserts (#577) add babe0c873 [IO-469] test that IO-469 is fixed (#580) add 62653dadd [IO-469] "Self-suppression not permitted" while using BrokenOutput and BrokenInput streams with try-with-resources add 7a7d78875 Keep members sorted add 06a83e98d Use compact array declarations add 3eba72bd1 Add Maven property project.build.outputTimestamp for build reproducibility add 80474fe0b [IO-808] more precise Javadoc about when an IllegalArgumentException is thrown (#581) add a9b7274c5 Bump github/codeql-action from 3.23.2 to 3.24.0 (#585) add cce15a3c9 Bump actions/upload-artifact from 4.3.0 to 4.3.1 (#584) add fe21d5c83 Bump commons-codec:commons-codec from 1.16.0 to 1.16.1 (#583) add 4acc36137 Bump commons-codec:commons-codec from 1.16.0 to 1.16.1 #583 add dc3dd7c15 [IO-808] non writeable destinations are I/O errors (#582) add 4f144cf02 handle zero and negative thresholds (#587) add a5cbb2ff1 Format tweakery add 5b2cf0d74 [IO-405] Handle zero and negative thresholds #587 add a1ddbcc75 Simplify add 46cef6bd4 Javadoc add f9022686c Add ProxyInputStream.unwrap() add 828fad620 fix package links (#588) add b8b5ee16f Bump github/codeql-action from 3.24.0 to 3.24.3 (#589) add 017e6442b Fix Javadoc add d284ba45b Javadoc add 2c927dc1e Javadoc add 812d8a4b5 BoundedInputStream can count its bytes without wrapping a CountingInputStream add 6088f691e CountingInputStream in favor of BoundedInputStream add a3c2a4906 Bump github/codeql-action from 3.24.3 to 3.24.4 (#591) add d0253b095 Bump org.codehaus.mojo:exec-maven-plugin from 3.1.1 to 3.2.0 (#593) add 81677aab7 Bump commons.bytebuddy.version from 1.14.11 to 1.14.12 (#592) add 3541cee5c Bump commons.bytebuddy.version from 1.14.11 to 1.14.12 #592 add f97228aab Bump org.codehaus.mojo:exec-maven-plugin from 3.1.1 to 3.2.0 #593 add 81c01e266 Bump github/codeql-action from 3.24.4 to 3.24.6 (#597) add d57993497 Bump actions/setup-java from 4.0.0 to 4.1.0 (#596) add a7c488bbe Bump actions/cache from 4.0.0 to 4.0.1 (#595) add ee6534933 Bump codecov/codecov-action from 4.0.1 to 4.1.0 (#594) add 0e5345768 Bump org.apache.commons:commons-parent from 66 to 67 (#598) add a5d386003 Bump org.apache.commons:commons-parent from 66 to 67 #598 add de74ee96d Bump actions/setup-java from 4.1.0 to 4.2.1 (#599) add f36d53f15 Bump github/codeql-action from 3.24.6 to 3.24.7 (#601) add b91ee38fa Bump actions/checkout from 4.1.1 to 4.1.2 (#600) add bd22d7517 Use NIO to simplify and cleanup path processing add 99b33da1a Bump github/codeql-action from 3.24.7 to 3.24.8 (#603) add 71c067a6c Mark Windows-only tests add ecb4ec718 Bump actions/cache from 4.0.1 to 4.0.2 (#602) add 5bc8b1ebb Javadoc add 0e3f808bc Use better JUnit API add 4ba57c4ac Use better JUnit API add f96e07ef3 Use better JUnit API add a01ac042e Merge branch 'master' of https://ggreg...@gitbox.apache.org/repos/asf/commons-io.git add 51dd8f5d3 Fix Checkstyele add e8c2774e0 Javadoc add f8bf5fa77 Remove some whitespace add 3da7eb16c Use try-with-resources add 5a7cb3272 Javadoc add 3f3943b2e Uppercase acronym in comment add d1ff1830a Internal refactoring add e168e7d6f Add FileUtilsTest.testForceDeleteUnwritableFile() add e02c47887 Add FileUtilsTest.testForceDeleteReadOnlyDirectory() add eea124865 Passes on macOS, fails on Linux and Windows with AccessDeniedException. add f6b8c0655 Passes on macOS, fails on Linux and Windows with AccessDeniedException. add 4b47b44bc Passes on macOS, fails on Linux and Windows with AccessDeniedException. add 3e19ef62a Only set POSIX permissions if needed add 8cb945a77 Add FileUtilsTest.testForceDeleteUnwritableDirectory() add 29570a504 Format tweak add 836b21dba Make release notes Markdown friendly add e81f5ac7b Prepare for release candidate No new revisions were added by this update. Summary of changes: .github/workflows/codeql-analysis.yml | 19 +- .github/workflows/coverage.yml | 19 +- .github/workflows/maven.yml | 37 +- .github/workflows/scorecards-analysis.yml | 12 +- CONTRIBUTING.md | 5 +- NOTICE.txt | 2 +- README.md | 7 +- RELEASE-NOTES.txt | 1502 +++++++++++--------- pom.xml | 402 +++--- src/assembly/bin.xml | 4 +- src/assembly/src.xml | 4 +- src/changes/changes.xml | 98 +- src/changes/release-notes.vm | 36 +- .../java/org/apache/commons/io/ByteOrderMark.java | 4 +- src/main/java/org/apache/commons/io/CopyUtils.java | 15 +- .../org/apache/commons/io/DirectoryWalker.java | 10 +- .../java/org/apache/commons/io/EndianUtils.java | 178 ++- .../org/apache/commons/io/FileCleaningTracker.java | 2 +- .../org/apache/commons/io/FileSystemUtils.java | 335 ++--- src/main/java/org/apache/commons/io/FileUtils.java | 539 ++++--- .../java/org/apache/commons/io/FilenameUtils.java | 355 +++-- src/main/java/org/apache/commons/io/IOCase.java | 81 +- .../org/apache/commons/io/IOExceptionList.java | 3 + src/main/java/org/apache/commons/io/IOUtils.java | 125 +- .../org/apache/commons/io/RandomAccessFiles.java | 9 + .../apache/commons/io/StandardLineSeparator.java | 4 +- .../java/org/apache/commons/io/ThreadUtils.java | 9 + .../apache/commons/io/build/AbstractOrigin.java | 93 +- .../commons/io/build/AbstractStreamBuilder.java | 47 +- .../io/comparator/DefaultFileComparator.java | 7 + .../io/comparator/ExtensionFileComparator.java | 1 - .../commons/io/comparator/PathFileComparator.java | 1 - .../commons/io/comparator/SizeFileComparator.java | 1 - .../commons/io/file/CleaningPathVisitor.java | 2 +- .../commons/io/file/DeletingPathVisitor.java | 2 +- .../java/org/apache/commons/io/file/PathUtils.java | 87 +- .../commons/io/file/attribute/FileTimes.java | 68 +- .../commons/io/filefilter/AbstractFileFilter.java | 2 +- .../io/filefilter/CanExecuteFileFilter.java | 4 +- .../commons/io/filefilter/CanReadFileFilter.java | 4 +- .../commons/io/filefilter/CanWriteFileFilter.java | 4 +- .../commons/io/filefilter/DirectoryFileFilter.java | 4 +- .../commons/io/filefilter/EmptyFileFilter.java | 6 + .../commons/io/filefilter/FileFileFilter.java | 4 +- .../commons/io/filefilter/FileFilterUtils.java | 1 - .../commons/io/filefilter/HiddenFileFilter.java | 4 +- .../apache/commons/io/filefilter/IOFileFilter.java | 4 +- .../commons/io/filefilter/NameFileFilter.java | 9 +- .../io/filefilter/PathMatcherFileFilter.java | 1 + .../commons/io/filefilter/PrefixFileFilter.java | 4 +- .../commons/io/filefilter/RegexFileFilter.java | 3 +- .../commons/io/filefilter/SizeFileFilter.java | 2 +- .../commons/io/filefilter/SuffixFileFilter.java | 7 +- .../io/filefilter/SymbolicLinkFileFilter.java | 7 +- .../commons/io/filefilter/WildcardFileFilter.java | 9 +- .../commons/io/filefilter/WildcardFilter.java | 9 +- .../org/apache/commons/io/function/Constants.java | 5 + .../java/org/apache/commons/io/function/Erase.java | 6 +- .../org/apache/commons/io/function/IOConsumer.java | 2 +- .../org/apache/commons/io/function/IORunnable.java | 10 + .../org/apache/commons/io/function/IOStream.java | 2 +- .../org/apache/commons/io/function/Uncheck.java | 4 +- .../commons/io/input/AutoCloseInputStream.java | 59 +- .../apache/commons/io/input/BOMInputStream.java | 35 +- .../commons/io/input/BoundedInputStream.java | 410 +++++- .../apache/commons/io/input/BrokenInputStream.java | 63 +- .../org/apache/commons/io/input/BrokenReader.java | 75 +- .../io/input/BufferedFileChannelInputStream.java | 30 +- .../commons/io/input/CharSequenceInputStream.java | 45 +- .../commons/io/input/CharSequenceReader.java | 11 +- .../commons/io/input/ChecksumInputStream.java | 252 ++++ .../commons/io/input/CircularInputStream.java | 2 +- .../apache/commons/io/input/ClosedInputStream.java | 14 + .../commons/io/input/CountingInputStream.java | 24 +- .../io/input/MemoryMappedFileInputStream.java | 30 +- .../input/MessageDigestCalculatingInputStream.java | 28 +- .../commons/io/input/MessageDigestInputStream.java | 28 +- .../apache/commons/io/input/NullInputStream.java | 167 +-- .../apache/commons/io/input/ProxyInputStream.java | 82 +- .../apache/commons/io/input/QueueInputStream.java | 19 +- .../io/input/RandomAccessFileInputStream.java | 32 +- .../commons/io/input/ReadAheadInputStream.java | 28 +- .../apache/commons/io/input/ReaderInputStream.java | 30 +- .../commons/io/input/ReversedLinesFileReader.java | 44 +- .../commons/io/input/SwappedDataInputStream.java | 43 +- .../java/org/apache/commons/io/input/Tailer.java | 45 +- .../commons/io/input/ThrottledInputStream.java | 203 +++ .../commons/io/input/TimestampedObserver.java | 7 + .../commons/io/input/UncheckedBufferedReader.java | 29 +- .../io/input/UncheckedFilterInputStream.java | 20 +- .../commons/io/input/UncheckedFilterReader.java | 26 +- .../input/UnsynchronizedBufferedInputStream.java | 26 +- .../input/UnsynchronizedByteArrayInputStream.java | 46 +- .../io/input/UnsynchronizedFilterInputStream.java | 24 +- .../apache/commons/io/input/XmlStreamReader.java | 67 +- .../commons/io/input/XmlStreamReaderException.java | 29 +- .../commons/io/monitor/FileAlterationObserver.java | 341 ++--- .../org/apache/commons/io/monitor/FileEntry.java | 19 +- .../io/output/AbstractByteArrayOutputStream.java | 10 +- .../commons/io/output/AppendableOutputStream.java | 6 +- .../apache/commons/io/output/AppendableWriter.java | 6 +- .../commons/io/output/BrokenOutputStream.java | 55 +- .../org/apache/commons/io/output/BrokenWriter.java | 57 +- .../commons/io/output/ChunkedOutputStream.java | 22 +- .../commons/io/output/ClosedOutputStream.java | 19 +- .../commons/io/output/CountingOutputStream.java | 1 - .../io/output/DeferredFileOutputStream.java | 36 +- .../commons/io/output/FileWriterWithEncoding.java | 25 +- .../commons/io/output/LockableFileWriter.java | 25 +- .../commons/io/output/StringBuilderWriter.java | 9 +- .../apache/commons/io/output/TeeOutputStream.java | 2 +- .../org/apache/commons/io/output/TeeWriter.java | 2 +- .../io/output/ThresholdingOutputStream.java | 12 +- .../io/output/UncheckedFilterOutputStream.java | 25 +- .../commons/io/output/UncheckedFilterWriter.java | 20 +- .../UnsynchronizedByteArrayOutputStream.java | 18 +- .../commons/io/output/WriterOutputStream.java | 22 +- .../apache/commons/io/output/XmlStreamWriter.java | 25 +- src/site/xdoc/download_io.xml | 26 +- src/site/xdoc/index.xml | 30 +- .../org/apache/commons/io/BrokenTestFactories.java | 85 ++ .../java/org/apache/commons/io/CharsetsTest.java | 28 +- .../org/apache/commons/io/DirectoryWalkerTest.java | 17 +- .../commons/io/DirectoryWalkerTestCaseJava4.java | 3 - .../org/apache/commons/io/EndianUtilsTest.java | 14 + .../org/apache/commons/io/FileSystemUtilsTest.java | 33 +- .../commons/io/FileUtilsCleanSymlinksTest.java | 2 - .../io/FileUtilsCopyDirectoryToDirectoryTest.java | 2 +- .../apache/commons/io/FileUtilsCopyToFileTest.java | 1 - .../io/FileUtilsDeleteDirectoryLinuxTest.java | 3 +- .../commons/io/FileUtilsDirectoryContainsTest.java | 6 +- .../apache/commons/io/FileUtilsListFilesTest.java | 1 - .../java/org/apache/commons/io/FileUtilsTest.java | 424 +++++- .../org/apache/commons/io/FilenameUtilsTest.java | 2 +- .../java/org/apache/commons/io/IOCaseTest.java | 28 +- .../java/org/apache/commons/io/IOUtilsTest.java | 17 +- .../org/apache/commons/io/IOUtilsWriteTest.java | 8 +- .../commons/io/build/CharSequenceOriginTest.java | 18 +- .../io/comparator/ComparatorAbstractTest.java | 4 +- .../io/comparator/ExtensionFileComparatorTest.java | 1 - .../io/comparator/PathFileComparatorTest.java | 1 - .../commons/io/file/AbstractPathWrapper.java | 11 + .../commons/io/file/AbstractTempDirTest.java | 1 - .../org/apache/commons/io/file/DeletablePath.java | 1 - .../commons/io/file/DirectoryStreamFilterTest.java | 4 +- .../org/apache/commons/io/file/PathUtilsTest.java | 67 +- .../commons/io/file/attribute/FileTimesTest.java | 44 +- .../commons/io/filefilter/AbstractFilterTest.java | 2 +- .../io/filefilter/AbstractIOFileFilterTest.java | 7 +- .../commons/io/filefilter/FileFilterTest.java | 37 +- .../commons/io/function/IOBiFunctionTest.java | 9 +- .../apache/commons/io/function/IORunnableTest.java | 8 + .../commons/io/function/IOSpliteratorTest.java | 2 +- .../apache/commons/io/function/IOStreamTest.java | 2 +- .../commons/io/input/AbstractInputStreamTest.java | 3 +- .../commons/io/input/AutoCloseInputStreamTest.java | 7 + .../commons/io/input/BOMInputStreamTest.java | 7 +- .../commons/io/input/BoundedInputStreamTest.java | 186 ++- .../apache/commons/io/input/BoundedReaderTest.java | 2 +- .../commons/io/input/BrokenInputStreamTest.java | 97 +- .../apache/commons/io/input/BrokenReaderTest.java | 96 +- .../input/BufferedFileChannelInputStreamTest.java | 10 + .../io/input/CharSequenceInputStreamTest.java | 173 ++- .../commons/io/input/ChecksumInputStreamTest.java | 162 +++ .../commons/io/input/ClosedInputStreamTest.java | 36 +- .../apache/commons/io/input/ClosedReaderTest.java | 62 +- .../commons/io/input/CountingInputStreamTest.java | 3 +- .../MessageDigestCalculatingInputStreamTest.java | 2 +- .../io/input/MessageDigestInputStreamTest.java | 2 +- .../commons/io/input/NullInputStreamTest.java | 93 +- .../commons/io/input/ProxyInputStreamTest.java | 161 +++ .../io/input/RandomAccessFileInputStreamTest.java | 6 + .../ReversedLinesFileReaderTestParamBlockSize.java | 1 - .../input/ReversedLinesFileReaderTestSimple.java | 6 +- .../io/input/SwappedDataInputStreamTest.java | 2 - .../org/apache/commons/io/input/TeeReaderTest.java | 2 +- .../commons/io/input/ThrottledInputStreamTest.java | 71 + .../UnsynchronizedByteArrayInputStreamTest.java | 6 +- .../input/UnsynchronizedFilterInputStreamTest.java | 42 +- .../commons/io/input/XmlStreamReaderTest.java | 26 +- .../io/input/buffer/CircularByteBufferTest.java | 84 ++ .../io/input/compatibility/XmlStreamReader.java | 4 +- .../io/jmh/PathUtilsContentEqualsBenchmark.java | 2 +- .../commons/io/monitor/CollectionFileListener.java | 12 +- .../io/monitor/FileAlterationMonitorTest.java | 1 - .../io/monitor/FileAlterationObserverTest.java | 32 +- .../commons/io/output/BrokenOutputStreamTest.java | 68 +- .../apache/commons/io/output/BrokenWriterTest.java | 135 +- .../commons/io/output/ChunkedOutputStreamTest.java | 29 +- .../commons/io/output/ClosedOutputStreamTest.java | 29 +- .../io/output/DeferredFileOutputStreamTest.java | 375 +++-- .../commons/io/output/StringBuilderWriterTest.java | 1 - .../io/output/ThresholdingOutputStreamTest.java | 27 +- .../commons/io/output/WriterOutputStreamTest.java | 1 - .../commons/io/test/ThrowOnCloseInputStream.java | 10 +- 195 files changed, 6802 insertions(+), 3293 deletions(-) create mode 100644 src/main/java/org/apache/commons/io/input/ChecksumInputStream.java create mode 100644 src/main/java/org/apache/commons/io/input/ThrottledInputStream.java create mode 100644 src/test/java/org/apache/commons/io/BrokenTestFactories.java create mode 100644 src/test/java/org/apache/commons/io/input/ChecksumInputStreamTest.java create mode 100644 src/test/java/org/apache/commons/io/input/ProxyInputStreamTest.java create mode 100644 src/test/java/org/apache/commons/io/input/ThrottledInputStreamTest.java create mode 100644 src/test/java/org/apache/commons/io/input/buffer/CircularByteBufferTest.java