Lines Matching +full:add +full:- +full:to +full:- +full:path
8 Classes in this package are considered to be so standard and of such high
9 reuse as to justify existence in java.io.
19 o Add org.apache.commons.io.channels.FileChannels. Thanks to Gary Gregory.
20 o Add RandomAccessFiles#contentEquals(RandomAccessFile, RandomAccessFile). Thanks to Gary…
21 o Add RandomAccessFiles#reset(RandomAccessFile). Thanks to Gary Gregory.
22 o Add PathUtilsContentEqualsBenchmark. Thanks to Gary Gregory.
23 o Add org.apache.commons.io.StreamIterator. Thanks to Gary Gregory.
24 o Add MessageDigestInputStream and deprecate MessageDigestCalculatingInputStream. Thanks …
27 o IO-810: XmlStreamReader encoding match RE is too strict. Thanks to Laurence Gonsalves.
28 o IO-810: Javadoc in FileUtils does not reflect code for thrown exceptions. Thanks to Gregor Dschu…
29 o IO-812: Javadoc should mention closing Streams based on file resources. Thanks to Adam Rauch, Ga…
30 o IO-811: In tests, Files.walk() direct and indirect callers fail to close the returned Stream. Th…
31 o IO-811: FileUtils.listFiles(File, String[], boolean) fails to close its internal Stream. Thanks …
32 o IO-811: FileUtils.iterateFiles(File, String[], boolean) fails to close its internal Stream. Than…
33 o IO-811: StreamIterator fails to close its internal Stream. Thanks to Adam Rauch, Gary Gregory.
34 o IO-814: Don't throw UncheckedIOException #491. Thanks to Elliotte Rusty Harold, Gary Gregory.
35 o IO-414: Don't write a BOM on every (or any) line #492. Thanks to Elliotte Rusty Harold, Gary Gre…
36 o IO-814: RandomAccessFileMode.create(Path) provides a better NullPointerException message. Thanks…
37 …thUtils.fileContentEquals(Path, Path, LinkOption[], OpenOption[]) by about 60%, see PathUtilsConte…
38 …formance of PathUtils.fileContentEquals(Path, Path) by about 60%, see PathUtilsContentEqualsBenchm…
39 …ntentEquals(File, File) by about 60%, see PathUtilsContentEqualsBenchmark. Thanks to Gary Gregory.
40 o Remove unused test code #494. Thanks to Elliotte Rusty Harold.
41 o [Javadoc] IOUtils#contentEquals does not throw NullPointerException #496. Thanks to seb…
42 …BufferedInputStream: Implicit narrowing conversion in compound assignment. Thanks to Gary Gregory.
44 if the MessageDigest is null. Thanks to Gary Gregory.
46 if the MessageDigest is null. Thanks to Gary Gregory.
47 o IO-816: UnsynchronizedBufferedInputStream.read(byte[], int, int) does not use buffer. Thanks to …
50 o Bump org.apache.commons:commons-parent from 62 to 64. Thanks to Gary Gregory.
67 Historical list of changes: https://commons.apache.org/proper/commons-io/changes-report.html
69 For complete information on Apache Commons IO, including instructions on how to submit bug reports,
72 https://commons.apache.org/proper/commons-io/
74 Download page: https://commons.apache.org/proper/commons-io/download_io.cgi
77 -Apache Commons Team
88 Classes in this package are considered to be so standard and of such high
89 reuse as to justify existence in java.io.
99 o Add DeferredFileOutputStream.getPath(). Thanks to Gary Gregory.
100 o Add FileCleaningTracker.track(Path, Object[, FileDeleteStrategy]). Thanks to Gary Grego…
101 o Add IOUtils.skip[Fully](InputStream, long, Supplier<byte[]>). Thanks to Gary Gregory.
102 o Add FilesUncheck.find(Path, int, BiPredicate%lt;Path, BasicFileAttributes>, FileVisitOp…
103 o Add IOIntSupplier. Thanks to Gary Gregory.
104 o Add IOLongSupplier. Thanks to Gary Gregory.
105 o Add Uncheck.getAsInt(IOIntSupplier [, Supplier<String>]). Thanks to Gary Gregory.
106 o Add Uncheck.getAsLong(IOLongSupplier [, Supplier<String>]). Thanks to Gary Gregory.
107 o Add Uncheck.run(IORunnable, Supplier<String>) Thanks to Gary Gregory.
108 o Add Uncheck.get(IOSupplier, Supplier<String>) Thanks to Gary Gregory.
109 o IOFileFilter now also extends java.nio.file.PathMatcher. Thanks to Gary Gregory.
110 o Add PathMatcherFileFilter to adapt java.nio.file.PathMatcher. Thanks to Gary Gregory.
111 o Add ThresholdingOutputStream.getOutputStream() and deprecate getStream(). Thanks to Gar…
112 o Add DeferredFileOutputStream.Builder.setOutputFile(Path). Thanks to Gary Gregory.
113 o Add DeferredFileOutputStream.Builder.setDirectory(Path). Thanks to Gary Gregory.
114 o Add AbstractStreamBuilder.setBufferSizeChecker(IntToIntFunction). Thanks to Gary Gregor…
115 o Add AbstractStreamBuilder.setBufferSizeMax(int). Thanks to Gary Gregory.
118 o IO-799: ReaderInputStream.read() throws an exception instead of returning -1 when called again a…
119 o IO-804: FileUtils.forceMkdirParent() Javadoc is incorrect. Thanks to Elliotte Rusty Harold, Gary…
120 o [StepSecurity] ci: Harden GitHub Actions #461. Thanks to step-security-bot, Gary Gregor…
121 … MagicNumberFileFilter.accept(Path, BasicFileAttributes) doesn't its byteOffset before re…
122 o Javadoc improvements. Thanks to Gary Gregory.
123 o Spelling #468. Thanks to Josh Soref, Gary Gregory.
124 o Use assertThrows #475. Thanks to Jakub Kupczyk.
127 o Bump jimfs from 1.2 to 1.3.0 #465 (tests). Thanks to Dependabot.
128 o Bump commons-parent from 58 to 62. Thanks to Gary Gregory.
129 o Bump commons-lang3 from 3.12 to 3.13.0. Thanks to Gary Gregory.
146 Historical list of changes: https://commons.apache.org/proper/commons-io/changes-report.html
148 For complete information on Apache Commons IO, including instructions on how to submit bug reports,
151 https://commons.apache.org/proper/commons-io/
153 Download page: https://commons.apache.org/proper/commons-io/download_io.cgi
156 -Apache Commons Team
167 Classes in this package are considered to be so standard and of such high
168 reuse as to justify existence in java.io.
178 o Add CharSequenceInputStream.Builder. Thanks to Gary Gregory.
179 o Add ChunkedOutputStream.Builder. Thanks to Gary Gregory.
180 o Add AbstractStreamBuilder.setOpenOptions(OpenOption...). Thanks to Gary Gregory.
181 o Add some missing conversions to AbstractOrigin subclasses. Thanks to Gary Gregory.
182 o Add AbstractOrigin.getByteArray(long, int). Thanks to Gary Gregory.
183 o Add and use RandomAccessFiles. Thanks to Gary Gregory.
184 o Add AbstractOrigin.size(). Thanks to Gary Gregory.
185 o Add PathUtils.EMPTY_FILE_ATTRIBUTE_ARRAY. Thanks to Gary Gregory.
186 o Add CharSequenceInputStream.Builder.setCharsetEncoder(CharsetEncoder). Thanks to Gary G…
187 o Add CharsetEncoders.toCharsetEncoder(CharsetEncoder, Supplier<CharsetEncoder>). Thanks …
190 o IO-791: Regression in FileUtils.touch() - no longer creates parent directories. Thanks to Chad W…
191 o ByteArrayOrigin should be able convert a byte[] to a ByteArrayInputStream. Thanks to Ga…
192 …Origin() now throws IllegalStateException instead of NullPointerException. Thanks to Gary Gregory.
193 o IO-796: FileAlreadyExistsException in PathUtils.createParentDirectories(Path, LinkOption, FileAt…
194 …ant portion of a file in AbstractOrigin.FileOrigin.getByteArray(long, int) Thanks to Gary Gregory.
195 …ant portion of a file in AbstractOrigin.PathOrigin.getByteArray(long, int) Thanks to Gary Gregory.
196 o IO-798: DeferredFileOutputStream throws exception when system temp dir is a symlink. Thanks to S…
197 …Stream.Builder.setCharsetEncoder(null) should reset to a default object, not throw an NPE. Thanks …
198 …erInputStream.Builder.setCharset(null) should reset to a default object, not throw an NPE. Thanks …
201 o Bump commons-parent from 57 to 58. Thanks to Gary Gregory, Dependabot.
218 Historical list of changes: https://commons.apache.org/proper/commons-io/changes-report.html
220 For complete information on Apache Commons IO, including instructions on how to submit bug reports,
223 https://commons.apache.org/proper/commons-io/
225 Download page: https://commons.apache.org/proper/commons-io/download_io.cgi
228 -Apache Commons Team
239 Classes in this package are considered to be so standard and of such high
240 reuse as to justify existence in java.io.
250 o IO-746: Drop unnecessary casts and conversions #267. Thanks to Davide Angelocola.
251 o Add GitHub coverage.yml. Thanks to Gary Gregory.
252 o Add BrokenReader.INSTANCE. Thanks to Gary Gregory.
253 o Add UncheckedBufferedReader. Thanks to Gary Gregory.
254 o Add UncheckedFilterReader. Thanks to Gary Gregory.
255 o Add UncheckedFilterWriter. Thanks to Gary Gregory.
256 o Add StringInputStream. Thanks to Gary Gregory.
257 o Add UncheckedFilterInputStream. Thanks to Gary Gregory.
258 o Add UncheckedFilterOutputStream. Thanks to Gary Gregory.
259 o Add BrokenInputStream.INSTANCE. Thanks to Gary Gregory.
260 o Add ClosedInputStream.INSTANCE and deprecate CLOSED_INPUT_STREAM. Thanks to Gary Gregor…
261 o Add ClosedReader.INSTANCE and deprecate CLOSED_READER. Thanks to Gary Gregory.
262 o Add BrokenWriter.INSTANCE. Thanks to Gary Gregory.
263 o Add ClosedOutputStream.INSTANCE and deprecate CLOSED_OUTPUT_STREAM. Thanks to Gary Greg…
264 o Add ClosedWriter.INSTANCE and deprecate CLOSED_WRITER. Thanks to Gary Gregory.
265 o Add NullOutputStream.INSTANCE and deprecate NULL_OUTPUT_STREAM. Thanks to Gary Gregory.
266 o Add NullPrintStream.INSTANCE and deprecate NULL_PRINT_STREAM. Thanks to Gary Gregory.
267 o Add NullWriter.INSTANCE and deprecate NULL_WRITER. Thanks to Gary Gregory.
268 o Add NullInputStream.INSTANCE. Thanks to Gary Gregory.
269 o Add NullReader.INSTANCE. Thanks to Gary Gregory.
270 o Add PathUtils.readString(Path, Charset). Thanks to Gary Gregory.
271 o Add FileUtils.newOutputStream(File, boolean). Thanks to Gary Gregory.
272 o Add PathUtils.newOutputStream(Path, boolean). Thanks to Gary Gregory.
273 o Add UncheckedAppendable. Thanks to Gary Gregory.
274 o Add and reuse UncheckedIOExceptions. Thanks to Gary Gregory.
275 o Add PathUtils.getTempDirectory(). Thanks to Gary Gregory.
276 o Add FileSystem.getNameSeparator(). Thanks to Gary Gregory.
277 o Add FileSystem.normalizeSeparators(). Thanks to Gary Gregory.
278 o Add PathUtils.isNewer(Path, FileTime, LinkOption...). Thanks to Gary Gregory.
279 o Add PathUtils.isNewer(Path, Instant, LinkOption...). Thanks to Gary Gregory.
280 o Add AgeFileFilter.AgeFileFilter(Instant).
281 Add AgeFileFilter.AgeFileFilter(Instant, boolean). Thanks to Gary Gregory.
282 o Add FileUtils.lastModifiedFileTime(File). Thanks to Gary Gregory.
283 o Add FileTimes. Thanks to Gary Gregory.
284 o Add PathUtils.waitFor(Path, Duration, LinkOption...). Thanks to Gary Gregory.
285 o Add org.apache.commons.io.input.Tailer.getDelayDuration(). Thanks to Gary Gregory.
286 o Add FileUtils.current(). Thanks to Gary Gregory.
287 o Add and use PathUtils.setLastModifiedTime(Path) for more precision.
288 … Add and use PathUtils.setLastModifiedTime(Path, Path) for more precision. Thanks to Gary Gregory.
289 o Add and use PathUtils.isNewer(Path, ChronoZonedDateTime, LinkOption...) for more precis…
290 Add and use PathUtils.isNewer(Path, Path) for more precision.
291 Add and use FileUtils.isNewer(File, FileTime) for more precision. Thanks to Gary Gregory.
292 o Add and use PathUtils.isOlder(Path, FileTime, LinkOption...).
293 Add and use PathUtils.isOlder(Path, Instant, LinkOption...).
294 Add and use PathUtils.isOlder(Path, long, LinkOption...).
295 Add and use PathUtils.isOlder(Path, Path). Thanks to Gary Gregory.
296 o Add and use PathUtils.sizeOf(Path).
297 Add and use PathUtils.sizeOfAsBigInteger(Path).
298 Add and use PathUtils.sizeOfDirectory(Path).
299 Add and use PathUtils.sizeOfDirectoryAsBigInteger(Path). Thanks to Gary Gregory.
300 o Add and use IOCase.value(IOCase, IOCase). Thanks to Gary Gregory.
301 o Add Tailer.Tailable interface to allow tailing of remote files for example using jCIFS.…
302 o Add and use RandomAccessFileMode. Thanks to Gary Gregory.
303 o Add PathUtils.writeString(Path, CharSequence, Charset, OpenOption...). Thanks to Gary G…
304 o Add PathUtiFiles.getFileAttributeView() shorthands:
305 - PathUtils.getAclFileAttributeView(Path, LinkOption...)
306 - PathUtils.getDosFileAttributeView(Path, LinkOption...)
307 - PathUtils.getPosixFileAttributeView(Path, LinkOption...) Thanks to Gary Gregory.
308 o IO-747: Make commons-io a JPMS module by adding module-info.class.
309 o IO-753: Add IOUtils method to copy output stream to input stream #281. Thanks to SebastianDietri…
310 o Add PathUtils.isPosix(Path, LinkOption...). #290 Thanks to Gary Gregory.
311 o Add PathUtils.readAttributes(Path, Class, LinkOption...). #290 Thanks to Gary Gregory.
312 o Add IOExceptionList.checkEmpty(List, Object). Thanks to Gary Gregory.
313 o Add IOBiConsumer, IOTriConsumer, IOComparator, IOUnaryOperator, IOBinaryOperator. Thank…
314 o Add and reuse IOConsumer forAll(*), forEach(*), and forEachIndexed(*). Thanks to Gary G…
315 o Add CharsetEncoders. Thanks to Gary Gregory.
316 o Add CharsetDecoders. Thanks to Gary Gregory.
317 o Add PathUtils.createParentDirectories(Path, LinkOption, FileAttribute...). Thanks to Ga…
318 o Update FileEntry to use FileTime instead of long for file time stamps. Thanks to Gary G…
319 o IO-680: Add more tests for IOUtils.contentEqualsIgnoreEOL #137. Thanks to XenoAmess, sebbASF, Ga…
320 …rough new UncheckedIO class and friends in org.apache.commons.io.function. Thanks to Gary Gregory.
321 o Add PathUtils.touch(Path). Thanks to Gary Gregory.
322 o Add FileSystem.getIllegalFileNameCodePoints(). Thanks to Gary Gregory.
323 o Add FileUtils.isFileNewer(File, ChronoLocalDate, OffsetTime).
324 Add FileUtils.isFileNewer(File, OffsetDateTime).
325 Add FileUtils.isFileOlder(File, ChronoLocalDate, OffsetTime).
326 Add FileUtils.isFileOlder(File, OffsetDateTime). Thanks to Isira Seneviratne, Gary Gregory.
327 o Add IOBiConsumer.noop(). Thanks to Gary Gregory.
328 o Add IOUtils.closeQuietly(Iterable<Closeable>).
329 Add IOUtils.closeQuietly(Stream<Closeable>). Thanks to Gary Gregory.
330 o Add Charsets.toCharset(Charset, Charset).
331 Add Charsets.toCharset(String, Charset). Thanks to Gary Gregory.
332 o Add XmlStreamWriter(OutputStream, Charset). Thanks to Gary Gregory.
333 o Add PathUtils.getLastModifiedFileTime(*). Thanks to Gary Gregory.
334 … Add IOBiFunction, IOTriFunction, IOQuadFunction, IOPredicate, IOIterator, IOSpliterator, I…
335 o Add IOUtils.consume(Reader). Thanks to Gary Gregory.
336 o Add IOSupplier.asSupplier(). Thanks to Gary Gregory.
337 o Add IOFunction.asFunction(). Thanks to Gary Gregory.
338 o Add IOConsumer.asConsumer(). Thanks to Gary Gregory.
339 o Add TimestampedObserver.isClosed(). Thanks to Gary Gregory.
340 o IOExceptionList implements Iterable. Thanks to Gary Gregory.
341 o IO-784: Add support for Appendable to HexDump #418. Thanks to Fredrik Kjellberg, Gary Gregory.
342 o Add and use ThreadUtils. Thanks to DaGeRe, Gary Gregory.
343 o IO-786: Add UnsynchronizedFilterInputStream. Thanks to Gary Gregory.
344 o IO-786: Add UnsynchronizedBufferedInputStream. Thanks to Gary Gregory, Benoit Tellier.
345 o Add FileSystem.getBlockSize(). Thanks to Gary Gregory.
346 o Add builders and avoid creating more constructors for all permutations of current optio…
347 …s.toString(IOSupplier<InputStream>, Charset[, IOSupplier<String>]). Thanks to Gary Gregory, maxxed…
348 …ache.commons.io.file.PathUtils.copy(IOSupplier<InputStream>, Path, CopyOption...). Thanks to Gary …
351 o IO-697: IOUtils.toByteArray size validation does not match documentation. Thanks to otter606.
352 o Fix Javadoc links to the JRE Javadoc 8. Thanks to Gary Gregory.
353 o IO-744: FileWriterWithEncoding for an existing file no longer truncates the file. #251. Thanks t…
354 …rset name in FileWriterWithEncoding constructors uses the default Charset. Thanks to Gary Gregory.
355 o Fix usage of assertNotNull #269. Thanks to Davide Angelocola.
356 o IO-727: FilenameUtils directoryContains() should handle files with the same prefix #217. Thanks …
357 o IO-748: FileUtils.moveToDirectory() exception documentation and exception message error. Thanks …
358 o ThreadMonitor.sleep(Duration) ignores nanoseconds. Thanks to Gary Gregory.
359 o Fix Javadoc in ThreadMonitor#run() method. #273. Thanks to Arturo Bernal.
360 o IO-749: FileUtils.listFiles() does not list matching files if File parameter is a symbolic link.…
361 o Fix typo in Javadocs for FileUtils#convertFileCollectionToFileArray() #276. Thanks to n…
362 o Avoid Code Duplication: Reuse Sleep from ThreadMonitor #66. Thanks to DaGeRe, Gary Greg…
363 o IO-750: FileUtils.iterateFiles also lists directories. Thanks to Sita Ge�ner, Sebastian Peters, …
364 o IO-721: Wrong exception message in FileUtils.setLastModified(File, File). Thanks to Dirk Heinric…
365 o IO-717: Infinite loop in ReaderInputStream instead of throwing exception for CodingErrorAction.R…
366 o IO-716: ReaderInputStream enter infinite loop for too small buffer sizes. Thanks to Marcono1234,…
367 o IO-638: Infinite loop in CharSequenceInputStream.read for 4-byte characters with UTF-8 and 3-byt…
368 o IO-638: PathUtils.setReadOnly(Path, boolean, LinkOption...) should add READ_* file attributes wh…
369 o IO-638: PathUtils.setReadOnly(Path, boolean, LinkOption...) readOnly argument is always assumed …
370 o IO-729: Prevent IllegalArgumentExceptions in BrokenInputStream/Reader/OutputStream/Writer #278. …
372 Called by FileUtils.copyURLToFile(URL, File). Thanks to Gary Gregory.
373 o IO-714: Fixed ReaderInputStream not calling CharsetEncoder.flush issue #283. Thanks to kevinwang…
374 o Minor changes #287. Thanks to Arturo Bernal.
375 o IO-756: Update FileWriterWithEncoding to extend ProxyWriter #296. Thanks to wodencafe, Gary Greg…
376 o Initialize the message of an IOExceptionList to a default if null. Thanks to Gary Grego…
377 o IO-751: When deleting symlinks, File/PathUtils.deleteDirectory() changes file permissions of the…
378 …set, Charset name, and CharsetEncoder to the platform default instead of throwing a NullPointerExc…
379 …am maps null Charset and Charset name to the platform default instead of throwing a NullPointerExc…
380 …Charset name, and CharsetEncoder name to the platform default instead of throwing a NullPointerExc…
381 …ld create target parent directories and overwrite target file #319. Thanks to Chad Wilson, Gary Gr…
382 o IO-484: Fix incorrect FilenameUtils Javadoc for null bytes #310. Thanks to Marcono1234, Gary Gre…
383 o IO-484: Change to uppercase variable constant. #323. Thanks to Arturo Bernal.
384 o IO-484: IOCase.isCaseSensitive(IOCase) result is backward #325. Thanks to David Huang, Gary Greg…
385 o IO-758: Deprecate PathUtils.NOFOLLOW_LINK_OPTION_ARRAY in favor of noFollowLinkOptionArray(). Th…
386 o Improve ReaderInputStream documentation #291. Thanks to Marcono1234, Gary Gregory.
387 o Fix misleading comments in FileFilterTest #334. Thanks to richarda23.
388 o Add missing Javadoc for exceptions thrown for invalid arguments #339. Thanks to Diego M…
389 o FileFilterTest minor fixes #340. Thanks to richarda23.
390 o IO-764: IOUtils.write() throws OutOfMemoryError/NegativeArraySizeException while writing big str…
391 o IO-768: Add reserved Windows file names CONIN$ and CONOUT$ to FileSystem #355. Thanks to Marcono…
392 o IO-773: RegexFileFilter is no longer Serializable. Thanks to Dominik Reinarz, Gary Gregory.
393 o IO-763: [Javadoc] FileFilterUtils doc does not match impl: missing some file filters. Thanks to …
394 o IO-762: FileSystem.WINDOWS.isReservedFileName doesn't check for file extension. Thanks to Leonid…
395 o IO-772: Confusing Javadoc on IOUtils#resourceToURL() and other resource* methods. Thanks to Dan …
396 o IO-443: FileUtils.copyFile methods throw an unnecessary "Failed to copy full contents from" exce…
397 o IO-564: Pick up Javadoc from super for override write() methods in AbstractByteArrayOutputStream…
398 o Fix minor typos #367. Thanks to Marc Wrobel.
399 o IO-776: Fix parameters to requireNonNull call in DeferredOutputSteam #368. Thanks to Chris Povir…
400 o Fix PathUtils.copyFileToDirectory(URL,Path,CopyOption[]). Thanks to Gary Gregory.
401 o IO-386: FileUtils.doCopyFile uses different methods to check the file sizes. Thanks to Sebb, Ber…
402 o Fix typos #375. Thanks to Michael Ernst.
403 o IO-611: FilenameUtils.normalize javadoc and tests #383. Thanks to Fedor Urvanov.
404 o IO-611: Better docs in IOUtils and IOUtils.byteArray(int size) #374. Thanks to ArdenL-Liu, Bruno…
405 o IO-782: SequenceReader should close readers when its close method is called #391. Thanks to Matt…
406 o IO-790: Fix symbolic link file filter #450. Thanks to Miguel Mu�oz, Gary Gregory.
407 o IO-790: Apply nanoseconds precision for QueueInputStream timeout duration. #453. Thanks to maxxe…
408 o Fix overflow for FileUtilsTest constants #456. Thanks to Marcono1234.
409 o Serialization is deprecated and will be removed in 3.0. Thanks to Gary Gregory.
410 …mand(String[], int, Duration): Use Locale.getDefault() instead of ENGLISH. Thanks to Gary Gregory.
411 o IO-726: Add MemoryMappedFileInputStream #215. Thanks to shollander, Gary Gregory.
414 o Bump actions/cache from 2.1.6 to 3.0.10 #307, #337, #393. Thanks to Dependabot, Gary Gr…
415 o Bump actions/checkout from 2.3.4 to 3.1.0 #286, #298, #330, #392. Thanks to Dependabot,…
416 o Bump actions/setup-java from 2 to 3.6.0 #346, #397. Thanks to Dependabot.
417 o Bump github/codeql-action from 1 to 2 #353. Thanks to Dependabot.
418 o Bump Maven Javadoc plugin from 3.2.0 to 3.4.1. Thanks to Dependabot, Gary Gregory.
419 …ugs-maven-plugin from 4.2.3 to 4.7.3.0 #250, #259, #272, #274, #285, #288, #289, #305, #315, #326,…
420 o Bump spotbugs from 4.5.2 to 4.7.3 #313, #317, #357, #382, #398. Thanks to Gary Gregory,…
421 o Bump JUnit from 5.7.2 to 5.8.2. Thanks to Gary Gregory.
422 o Bump maven-enforcer-plugin from 3.0.0-M3 to 3.3.0 #255, #363, #431, #446. Thanks to Dep…
423 o Bump checkstyle from 8.44 to 9.3 #256, #257, #266, #279, #292. #308. Thanks to Dependab…
424 o Bump junit-bom from 5.8.0-M1 to 5.9.1 #260, #271, #275, #309, #386. Thanks to Dependabo…
425 … Bump mockito-inline from 3.11.2 to 4.11.0 #262, #264, #282, #306, #314, #331, #348, #359, #3…
426 o Bump jmh.version from 1.32 to 1.36 #258, #316, #342, #404. Thanks to Dependabot.
427 o Bump moditect-maven-plugin from 1.0.0.RC1 to 1.0.0.Final #280, #439, #445. Thanks to De…
428 o Bump junit-pioneer from 1.4.2 to 1.9.1 #304. #335, #362, #402, #406, #409. Thanks to De…
429 o Bump japicmp-maven-plugin from 0.15.3 to 0.16.0. Thanks to Gary Gregory.
430 o Bump commons-parent from 52 to 57 #388, #415, #421, #184. Thanks to Gary Gregory, Depen…
431 o Bump jacoco-maven-plugin from 0.8.7 to 0.8.8. Thanks to Gary Gregory.
432 o Bump maven-antrun-plugin from 3.0.0 to 3.1.0 #354. Thanks to Dependabot.
433 o Bump commons.surefire.version 3.0.0-M5 to 3.0.0-M7. Thanks to Gary Gregory.
434 o Bump PMD from 6.44.0 to 6.52.0. Thanks to Gary Gregory.
435 o Bump maven-pmd-plugin from 3.16.0 to 3.19.0. Thanks to Gary Gregory.
436 o Bump apache-rat from 0.13 to 0.14. Thanks to Gary Gregory.
437 o Bump exec-maven-plugin from 3.0.0 to 3.1.0 #369. Thanks to Dependabot.
438 o Bump maven-checkstyle-plugin from 3.1.2 to 3.2.0 #376. Thanks to Dependabot.
439 o Bump apache-rat-plugin from 0.14 to 0.15 #387. Thanks to Dependabot.
440 … Bump default buffer size for CharSequenceInputStream to IOUtils#DEFAULT_BUFFER_SIZE. Thanks to …
441 … Bump default buffer size for ChunkedOutputStream to IOUtils#DEFAULT_BUFFER_SIZE. Thanks to …
442 o Bump default buffer size for ChunkedWriter to IOUtils#DEFAULT_BUFFER_SIZE. Thanks to Ga…
443 … Bump default buffer size for ReaderInputStream to IOUtils#DEFAULT_BUFFER_SIZE. Thanks to …
444 … Bump default buffer size for WriterOutputStream to IOUtils#DEFAULT_BUFFER_SIZE. Thanks to …
461 Historical list of changes: https://commons.apache.org/proper/commons-io/changes-report.html
463 For complete information on Apache Commons IO, including instructions on how to submit bug reports,
466 https://commons.apache.org/proper/commons-io/
468 Download page: https://commons.apache.org/proper/commons-io/download_io.cgi
471 -Apache Commons Team
482 Classes in this package are considered to be so standard and of such high
483 reuse as to justify existence in java.io.
494 o IO-741: FileUtils.listFiles does not list matching files if File parameter is a symbolic link. T…
495 o IO-724: FileUtils#deleteDirectory(File) exception Javadoc inaccurate update #245. Thanks to lira…
496 o Minor changes #243. Thanks to Arturo Bernal.
497 …f FileInputStream and FileOutputStream objects with Files NIO APIs. #221. Thanks to Arturo Bernal.
498 o Fix IndexOutOfBoundsException in IOExceptionList constructors. Thanks to Gary Gregory.
501 - FilenameUtils
503 - BoundedReader
505 - IOUtils
512 toString(byte[], String) Thanks to Gary Gregory.
515 o Add SymbolicLinkFileFilter. Thanks to Gary Gregory.
516 o Add test to make sure the setter of AndFileFilter works correctly #244. Thanks to trncat…
517 o Add XmlStreamReader(Path). Thanks to Gary Gregory.
518 o Bump mockito-inline from 3.11.0 to 3.11.2 #247. Thanks to Dependabot.
519 o Bump jmh.version from 1.27 to 1.32 #237. Thanks to Dependabot.
520 o Bump spotbugs from 4.2.3 to 4.3.0 #249. Thanks to Dependabot.
537 Historical list of changes: https://commons.apache.org/proper/commons-io/changes-report.html
539 For complete information on Apache Commons IO, including instructions on how to submit bug reports,
542 https://commons.apache.org/proper/commons-io/
544 Download page: https://commons.apache.org/proper/commons-io/download_io.cgi
547 -Apache Commons Team
558 Classes in this package are considered to be so standard and of such high
559 reuse as to justify existence in java.io.
569 o Add and use RegexFileFilter.toString(). Thanks to Gary Gregory.
570 o Add and use RegexFileFilter.RegexFileFilter(Pattern, Function<Path>, String>) Thanks to…
571 o Add and use IOCase.isCaseSensitive(IOCase). Thanks to Gary Gregory.
574 o IO-733: RegexFileFilter uses the path and file name instead of just the file name. Thanks to Jim…
575 o IO-734: The OSGi manifest now contains sun.* import packages #239. Thanks to Eric Norman.
576 o IO-585: Sanitize double slash after prefix #79. Thanks to Adam McClenaghan.
579 o Bump actions/cache from 2.1.5 to 2.1.6 #238. Thanks to Dependabot.
580 o Bump junit-pioneer from 1.4.1 to 1.4.2 #240. Thanks to Dependabot.
581 o Bump checkstyle from 8.42 to 8.43 #241. Thanks to Dependabot.
582 o Bump mockito-inline from 3.10.0 to 3.11.0 #242. Thanks to Dependabot.
599 Historical list of changes: https://commons.apache.org/proper/commons-io/changes-report.html
601 For complete information on Apache Commons IO, including instructions on how to submit bug reports,
604 https://commons.apache.org/proper/commons-io/
606 Download page: https://commons.apache.org/proper/commons-io/download_io.cgi
609 -Apache Commons Team
620 Classes in this package are considered to be so standard and of such high
621 reuse as to justify existence in java.io.
631 o Add org.apache.commons.io.input.CircularInputStream. Thanks to Gary Gregory.
632 o Add org.apache.commons.io.file.PathUtils.cleanDirectory(Path, FileVisitOption...). Thanks to Gary…
633 o Add org.apache.commons.io.file.PathUtils.deleteDirectory(Path, FileVisitOption...). Thanks to Gar…
634 o Add NullAppendable. Thanks to Gary Gregory.
635 o Add PathUtils.getAclEntryList(Path). Thanks to Gary Gregory.
636 o Null-guard IOUtils.close(Closeable, IOConsumer). Thanks to Gary Gregory.
637 o Add ReversedLinesFileReader.readLines(int). Thanks to Gary Gregory.
638 o Add ReversedLinesFileReader.toString(int). Thanks to Gary Gregory.
639 o IO-684: Add PathUtils.delete(Path, DeleteOption...).
640 Add PathUtils.deleteDirectory(Path, DeleteOption...).
641 Add PathUtils.deleteFile(Path, DeleteOption...).
642 Add PathUtils.setReadOnly(Path, boolean, LinkOption...).
643 Add CleaningPathVisitor.CleaningPathVisitor(PathCounters, DeleteOption[], String...).
644 …Add DeletingPathVisitor.DeletingPathVisitor(PathCounters, DeleteOption[], String...). Thanks to Ga…
645 o Add RandomAccessFileInputStream. Thanks to Gary Gregory.
646 o IO-681: IOUtils.close(Closeable) should allow a list of closeables.
647 o Add IOUtils.consume(InputStream). Thanks to Gary Gregory.
648 o IO-676: Add isFileNewer() and isFileOlder() methods that support the Java 8 Date/Time API. #124.…
649 o Add a MarkShieldInputStream #119. Thanks to Adam Retter, Gary Gregory.
650 o Deprecate IOUtils.LINE_SEPARATOR in favor of Java 7's System.lineSeparator(). Thanks to Gary Greg…
653 o CharSequenceReader.skip should return 0 instead of EOF on stream end #123. Thanks to Rob Spoor, J…
654 o Implement CharSequenceReader.ready() #122. Thanks to Rob Spoor.
655 o IO-669: Fix code smells; fix typos #115. Thanks to XenoAmess, Gary Gregory.
656 o Add caching for required charsets #120. Thanks to Jerome Wolff, Gary Gregory.
657 o IO-673: Make some simplifications #121. Thanks to Jerome Wolff.
658 o IO-674: InfiniteCircularInputStream is not infinite if its input buffer contains -1. Thanks to G…
659 o IO-675: InfiniteCircularInputStream throws a divide-by-zero exception when reading if its input …
660 o IO-677: FileSystem.getCurrent() does not return the correct enum. Thanks to Gary Gregory.
661 o IO-679: input.AbstractCharacterFilterReader passes count of chars read #132. Thanks to proneel.
662 o IO-683: CircularBufferInputStream.read() fails to convert byte to unsigned int
663 o Fix SpotBugs issues in org.apache.commons.io.FileUtils. Thanks to Gary Gregory.
664 o IO-672: Copying a File sets last modified date to 01 January 1970.
665 o IO-676: Prevent NullPointerException in ReversedLinesFileReader constructors #117. Thanks to Mic…
668 o Replace FindBugs with SpotBugs. Thanks to Gary Gregory.
669 o maven-checkstyle-plugin 3.1.0 -> 3.1.1. Thanks to Gary Gregory.
670 o Update tests from org.apache.commons:commons-lang3 3.10 to 3.11. Thanks to Gary Gregory.
671 o Update commons-parent from 50 to 51 #129. Thanks to Gary Gregory.
672 o Update actions/checkout from v1 to v2.3.1 #126. Thanks to Gary Gregory.
673 o Update junit-pioneer from 0.6.0 to 0.8.0, #127, #135. Thanks to Gary Gregory.
674 o Update mockito-core from 3.3.3 to 3.5.9 #128, #133, #145, #149, #151. Thanks to Gary Gregory.
675 o Update spotbugs from 4.0.6 to 4.1.1 #134. Thanks to Dependabot.
676 o Update junit-pioneer from 0.8.0 to 0.9.0 #138. Thanks to Dependabot.
677 o Update actions/checkout from v2.3.1 to v2.3.2 #140. Thanks to Dependabot.
678 o Update actions/setup-java from v1.4.0 to v1.4.2 #141, #148. Thanks to Dependabot.
693 Historical list of changes: https://commons.apache.org/proper/commons-io/changes-report.html
695 For complete information on Apache Commons IO, including instructions on how to submit bug reports,
698 https://commons.apache.org/proper/commons-io/
700 Download page: https://commons.apache.org/proper/commons-io/download_io.cgi
703 -Apache Commons Team
714 Classes in this package are considered to be so standard and of such high
715 reuse as to justify existence in java.io.
726 o IO-553: Add org.apache.commons.io.FilenameUtils.isIllegalWindowsFileName(char).
727 o IO-577: Add readers to filter out given characters: CharacterSetFilterReader and CharacterFilter…
728 o IO-594: Add IOUtils copy methods with java.lang.Appendable as the target. Thanks to Gary Gregory…
729 o IO-605: Add class CanExecuteFileFilter. Thanks to Gary Gregory.
730 o IO-578: Support java.nio.Path and non-default file systems for ReversedLinesFileReader (#62). Th…
731 o IO-608: Add a convenience NullPrintStream. Thanks to Gary Gregory.
732 o IO-612: Add class TeeReader. Thanks to Rob Spoor, Gary Gregory.
733 o IO-613: Add classes ClosedReader and CloseShieldReader. #84. Thanks to Rob Spoor, Gary Gregory.
734 o IO-614: Add classes TaggedWriter, ClosedWriter and BrokenWriter. #86. Thanks to Rob Spoor.
735 o IO-615: Add classes TeeWriter, FilterCollectionWriter, ProxyCollectionWriter, IOExceptionList, I…
736 o IO-616: Add class AppendableWriter. #87. Thanks to Rob Spoor.
737 o IO-617: Add class CloseShieldWriter. #83. Thanks to Rob Spoor, Gary Gregory.
738 o IO-618: Add classes Added TaggedReader, ClosedReader and BrokenReader. #85. Thanks to Rob Spoor.
739 o IO-619: Support sub sequences in CharSequenceReader. #91. Thanks to Rob Spoor.
740 o IO-631: Add a CountingFileVisitor (as the basis for a forthcoming DeletingFileVisitor). Thanks t…
741 o IO-632: Add PathUtils for operations on NIO Path. Thanks to Gary Gregory.
742 o IO-633: Add DeletingFileVisitor. Thanks to Gary Gregory.
743 o IO-635: Add org.apache.commons.io.IOUtils.close(Closeable). Thanks to Gary Gregory.
744 o IO-636: Add and reuse org.apache.commons.io.IOUtils.closeQuitely(Closeable, Consumer<IOException…
745 …Add and reuse org.apache.commons.io.IOUtils.close(Closeable, IOConsumer<IOException>). Thanks to G…
746 o IO-645: Add org.apache.commons.io.file.PathUtils.fileContentEquals(Path, Path, OpenOption...). T…
747 o IO-458: Add a SequenceReader similar to java.io.SequenceInputStream. Thanks to Gary Gregory, Jos…
748 o IO-648: Implement directory content equality. 100#. Thanks to Gary Gregory.
749 o IO-648: Refactor ByteArrayOutputStream into synchronized and unsynchronized versions #108. Thank…
750 o IO-662: Refactor ByteArrayOutputStream into synchronized and unsynchronized versions #108. Thank…
753 o IO-589: Some tests fail if the base path contains a space.
754 o IO-582: Make methods in ObservableInputStream.Observer public. Thanks to Bruno Palos.
755 o IO-535: Thread bug in FileAlterationMonitor.stop(int). Thanks to Svetlin Zarev, Anthony Raymond.
756 o IO-557: Perform locale independent upper case conversions. Thanks to luccioman.
757 o IO-570: Missing Javadoc in FilenameUtils causing Travis-CI build to fail. Thanks to Pranet Verma…
758 o IO-571: Remove redundant isDirectory() check in org.apache.commons.io.FileUtils.listFilesAndDirs…
759 o IO-559: FilenameUtils.normalize now verifies hostname syntax in UNC path.
760 o IO-554: FileUtils.copyToFile(InputStream source, File destination) should not close input stream…
761 o IO-604: FileUtils.doCopyFile(File, File, boolean) can throw ClosedByInterruptException. Thanks t…
762 o IO-625: Corrected misleading exception message for FileUtils.copyDirectoryToDirectory. Thanks to…
763 o IO-626: A mistake in the FilenameUtils.concat()'s Javadoc about an absolute path. Thanks to Yuji…
764 o IO-640: NPE in org.apache.commons.io.IOUtils.contentEquals(InputStream, InputStream) when only o…
765 o IO-641: NPE in org.apache.commons.io.IOUtils.contentEquals(Reader, Reader) when only one input i…
766 o IO-643: NPE in org.apache.commons.io.IOUtils.contentEqualsIgnoreEOL(Reader, Reader) when only on…
767 o IO-644: NPE in org.apache.commons.io.FileUtils.contentEqualsIgnoreEOL(File, File) when only one …
768 o IO-664: org.apache.commons.io.FileUtils.copyURLToFile(*) open but do not close streams. Thanks t…
771 o IO-572: Refactor duplicate code in org.apache.commons.io.FileUtils. Thanks to Pranet Verma.
772 o IO-580: Update org.apache.commons.io.FilenameUtils.isExtension(String, String[]) to use var args…
773 o IO-701: Make array declaration in ThresholdingOutputStream consistent with other array declarati…
774 o IO-607: Update from Java 7 to Java 8. Thanks to Gary Gregory.
775 o IO-610: Remove throws IOException in method isSymlink() #80. Thanks to Sebastian.
776 o IO-628: Migration to JUnit Jupiter #97. Thanks to Allon Mureinik.
777 …-630: Deprecate org.apache.commons.io.output.NullOutputStream.NullOutputStream() in favor of org.…
778 o IO-629: FileUtils#forceDelete should use Files#delete rather than File#delete so exception messa…
779 o IO-634: Make getCause synchronized and use a Deque instead of a Stack #64. Thanks to V�clav Hais…
780 o Update tests from Apache Commons Lang 3.9 to 3.10. Thanks to Gary Gregory.
781 o Update tests org.junit-pioneer:junit-pioneer 0.3.0 -> 0.6.0. Thanks to Gary Gregory.
782 o Update tests org.junit.jupiter:junit-jupiter 5.5.2 -> 5.6.2. Thanks to Gary Gregory.
783 o Update tests org.mockito:mockito-core 3.0.0 -> 3.3.3. Thanks to Gary Gregory.
784 o IO-666: Normalize internal buffers to 8192 bytes. Thanks to Gary Gregory.
785 o IO-665: Ensure that passing a null InputStream results in NPE with tests #112. Thanks to Otto Fo…
786 o commons.jacoco.version 0.8.4 -> 0.8.5. Thanks to Gary Gregory.
787 o com.github.siom79.japicmp:japicmp-maven-plugin 0.14.1 -> 0.14.3. Thanks to Gary Gregor…
788 o IO-667: Add functional interfaces IOFunction and IOSupplier #110. Thanks to Adam Retter, Gary Gr…
789 o Support sub sequences in CharSequenceReader #91. Thanks to Rob Spoor, Gary Gregory.
790 o Remove deprecated sudo setting. #113. Thanks to dengliming.
805 Historical list of changes: https://commons.apache.org/proper/commons-io/changes-report.html
807 For complete information on Apache Commons IO, including instructions on how to submit bug reports,
810 https://commons.apache.org/proper/commons-io/
812 Download page: https://commons.apache.org/proper/commons-io/download_io.cgi
815 -Apache Commons Team
824 Classes in this package are considered to be so standard and of such high
825 reuse as to justify existence in java.io.
830 Apache Commons IO 2.6 requires at least Java 7 to build and run.
837 deprecated. Use the try-with-resources statement or handle suppressed
851 Automatic-Module-Name: org.apache.commons.io
853 This should make it possible to use Commons IO 2.6 as a module in the Java 9
856 https://issues.apache.org/jira/browse/IO-551
867 o IO-551: Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility.
868 o IO-367: Add convenience methods for copyToDirectory. Thanks to James Sawle.
869 o IO-493: Add infinite circular input stream. Thanks to Piotr Turski.
870 o IO-507: Add a ByteOrderUtils class.
871 o IO-518: Add ObservableInputStream.
872 o IO-519: Add MessageDigestCalculatingInputStream.
873 o IO-513: Add convenience methods for reading class path resources.
874 Thanks to Behrang Saeedzadeh.
879 o IO-546: ClosedOutputStream#flush should throw. Thanks to Tomas Celaya.
880 o IO-550: Documentation issue, fix 404 Javadoc issues in the description page.
881 Thanks to Jimi Adrian.
882 o IO-442: Javadoc contradictory for FileFilterUtils.ageFileFilter(cutoff) and
884 Thanks to Simon Robinson.
885 o IO-534: FileUtilTestCase.testForceDeleteDir() should not delete testDirectory
887 o IO-528: Fix Tailer.run race condition runaway logging. Thanks to Dave Moten.
888 o IO-483: getPrefixLength return -1 if Unix file contains colon.
889 Thanks to Marko Vasic.
890 o IO-520: FileUtilsTestCase#testContentEqualsIgnoreEOL fails on Windows.
891 o IO-516: .gitattributes not correctly applied. Thanks to Jason Pyeron.
892 o IO-515: Allow Specifying Initial Buffer Size of DeferredFileOutputStream.
893 Thanks to Brett Lounsbury, Gary Gregory.
894 o IO-512: ThresholdingOutputStream.thresholdReached() results in
895 FileNotFoundException. Thanks to Ralf Hauser.
896 o IO-511: After a few unit tests, a few newly created directories not cleaned
897 completely. Thanks to Ahmet Celik.
898 o IO-502: Exceptions are suppressed incorrectly when copying files.
899 Thanks to Christian Schulte.
900 o IO-503: Update platform requirement to Java 7.
901 o IO-537: BOMInputStream shouldn't sort array of BOMs in-place.
902 Thanks to Borys Zibrov.
907 o IO-553: Make code style of hasBOM() consistent with getBOMCharsetName().
908 Thanks to Michael Ernst.
909 o IO-542: FileUtils#readFileToByteArray: optimize reading of files with known
910 size. Thanks to Ilmars Poikans.
911 o IO-547: Throw a IllegalArgumentException instead of NullPointerException in
912 FileSystemUtils.freeSpaceWindows(). Thanks to Nikhil Shinde,
914 o IO-506: Deprecate methods FileSystemUtils.freeSpaceKb().
915 Thanks to Christian Schulte.
916 o IO-505: Make LineIterator implement Closeable to support try-with-resources
917 statements. Thanks to Christian Schulte.
918 o IO-504: Deprecated of all IOUtils.closeQuietly() methods and use
919 try-with-resources internally. Thanks to Christian Schulte.
924 o IO-514: Remove org.apache.commons.io.Java7Support.
937 https://issues.apache.org/jira/browse/IO-318.
939 https://issues.apache.org/jira/browse/IO-318.
957 o IO-487: Add ValidatingObjectInputStream for controlled deserialization
958 o IO-471: Support for additional encodings in ReversedLinesFileReader Thanks to Leandro Reis.
959 o IO-425: Setter method for threshold on ThresholdingOutputStream Thanks to Craig Swank.
960 o IO-406: Introduce new class AppendableOutputStream Thanks to Niall Pemberton.
961 o IO-459: Add WindowsLineEndingInputStream and UnixLineEndingInputStream. Thanks to Kristian Rosen…
962 o IO-457: Add a BoundedReader, a wrapper that can be used to constrain access
963 to an underlying stream when used with mark/reset -
964 to avoid overflowing the mark limit of the underlying buffer. Thanks to Kristian Rosenvold.
965 o IO-426: Add API IOUtils.closeQuietly(Closeable...)
966 o IO-410: Readfully() That Returns A Byte Array Thanks to Beluga Behr.
967 o IO-395: Overload IOUtils buffer methods to accept buffer size Thanks to Beluga Behr.
968 o IO-382: Chunked IO for large arrays.
971 o IO-233: Add Methods for Buffering Streams/Writers To IOUtils
972 Added overloaded buffer() methods - see also IO-330
973 o IO-330: IOUtils#toBufferedOutputStream/toBufferedWriter to conditionally wrap the output
974 Added overloaded buffer() methods - see also IO-233
975 o IO-381: Add FileUtils.copyInputStreamToFile API with option to leave the source open.
977 o IO-379: CharSequenceInputStream - add tests for available()
979 o IO-346: Add ByteArrayOutputStream.toInputStream()
980 o IO-341: A constant for holding the BOM character (U+FEFF)
981 o IO-361: Add API FileUtils.forceMkdirsParent().
982 o IO-360: Add API Charsets.requiredCharsets().
983 o IO-359: Add IOUtils.skip and skipFully(ReadableByteChannel, long). Thanks to yukoba.
984 o IO-358: Add IOUtils.read and readFully(ReadableByteChannel, ByteBuffer buffer). Thanks to yukoba…
985 o IO-353: Add API IOUtils.copy(InputStream, OutputStream, int) Thanks to ggregory.
986 o IO-349: Add API with array offset and length argument to FileUtils.writeByteArrayToFile. Thanks …
987 o IO-348: Missing information in IllegalArgumentException thrown by org.apache.commons.io.FileUtil…
988 o IO-345: Supply a hook method allowing Tailer actively determining stop condition. Thanks to mkre…
989 o IO-437: Make IOUtils.EOF public and reuse it in various classes.
992 o IO-446: adds an endOfFileReached method to the TailerListener Thanks to Jeffrey Barrus.
993 o IO-484: FilenameUtils should handle embedded null bytes Thanks to Philippe Arteau.
994 o IO-481: Changed/Corrected algorithm for waitFor
995 o IO-428: BOMInputStream.skip returns wrong count if stream contains no BOM Thanks to Stefan Gmein…
996 o IO-488: FileUtils.waitFor(...) swallows thread interrupted status Thanks to Bj�rn Buchner.
997 o IO-452: Support for symlinks with missing target. Added support for JDK7 symlink features when p…
998 o IO-453: Regression in FileUtils.readFileToString from 2.0.1 Thanks to Steven Christou.
999 o IO-451: ant test fails - resources missing from test classpath Thanks to David Standish.
1000 o IO-435: Document that FileUtils.deleteDirectory, directoryContains and cleanDirectory
1002 exist or is not a directory. Thanks to Dominik Stadler.
1003 o IO-424: Javadoc fixes, mostly to appease 1.8.0 Thanks to Ville Skytt�.
1004 o IO-389: FileUtils.sizeOfDirectory can throw IllegalArgumentException Thanks to Austin Doupnik.
1005 o IO-390: FileUtils.sizeOfDirectoryAsBigInteger can overflow.
1007 o IO-385: FileUtils.doCopyFile can potentially loop for ever
1008 Exit loop if no data to copy
1009 o IO-383: FileUtils.doCopyFile caches the file size; needs to be documented
1011 o IO-380: FileUtils.copyInputStreamToFile should document it closes the input source Thanks to cla…
1012 o IO-279: Tailer erroneously considers file as new.
1013 Fix to use file.lastModified() rather than System.currentTimeMillis()
1014 o IO-356: CharSequenceInputStream#reset() behaves incorrectly in case when buffer size is not divi…
1015 …Fix code so skip relates to the encoded bytes; reset now re-encodes the data up to the point of th…
1016 o IO-368: ClassLoaderObjectInputStream does not handle primitive typed members
1017 o IO-314: Deprecate all methods that use the default encoding
1018 o IO-338: When a file is rotated, finish reading previous file prior to starting new one
1019 o IO-354: Commons IO Tailer does not respect UTF-8 Charset.
1020 o IO-323: What should happen in FileUtils.sizeOf[Directory] when an overflow takes place?
1022 o IO-372: FileUtils.moveDirectory can produce misleading error message on failure
1023 o IO-362: IOUtils.contentEquals* methods returns false if input1 == input2, should return true. Th…
1024 o IO-357: [Tailer] InterruptedException while the thread is sleeping is silently ignored Thanks to…
1025 o IO-352: Spelling fixes. Thanks to scop.
1026 o IO-436: Improper Javadoc comment for FilenameUtils.indexOfExtension. Thanks to christoph.schneeg…
1029 o IO-433: Converted all testcases to JUnit 4
1030 o IO-466: Added testcase to show this was fixed with IO-423
1031 o IO-479: Correct exception message in FileUtils.getFile(File, String...) Thanks to Zhouce Chen.
1032 o IO-465: Update to JUnit 4.12 Thanks to based2.
1033 o IO-462: IOExceptionWithCause no longer needed
1034 o IO-422: Deprecate Charsets Charset constants in favor of Java 7's java.nio.charset.StandardChars…
1035 o IO-239: Convert IOCase to a Java 1.5+ Enumeration
1037 o IO-328: getPrefixLength returns null if filename has leading slashes
1038 Javadoc: add examples to show correct behavior; add unit tests
1039 o IO-299: FileUtils.listFilesAndDirs includes original dir in results even when it doesn't match f…
1041 o IO-375: FilenameUtils.splitOnTokens(String text) check for '**' could be simplified
1042 o IO-374: WildcardFileFilter ctors should not use null to mean IOCase.SENSITIVE when delegating to…
1051 Source compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
1052 Semantic compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
1067 o IO-269: Tailer locks file from deletion/rename on Windows. Thanks to
1069 o IO-333: Export OSGi packages at version 1.x in addition to 2.x. Thanks
1070 to fmeschbe.
1071 o IO-320: Add XmlStreamReader support for UTF-32. Thanks to ggregory.
1072 o IO-331: BOMInputStream wrongly detects UTF-32LE_BOM files as
1073 UTF-16LE_BOM files in method getBOM(). Thanks to ggregory.
1074 o IO-327: Add byteCountToDisplaySize(BigInteger). Thanks to ggregory.
1075 o IO-326: Add new FileUtils.sizeOf[Directory] APIs to return BigInteger.
1076 Thanks to ggregory.
1077 o IO-325: Add IOUtils.toByteArray methods to work with URL and URI. Thanks
1078 to raviprak.
1079 o IO-324: Add missing Charset sister APIs to method that take a String
1080 charset name. Thanks to raviprak.
1083 o IO-336: Yottabyte (YB) incorrectly defined in FileUtils. Thanks to
1085 o IO-279: Tailer erroneously considers file as new. Thanks to Sergio
1087 o IO-335: Tailer#readLines - incorrect CR handling.
1088 o IO-334: FileUtils.toURLs throws NPE for null parameter; document the
1090 o IO-332: Improve tailer's reading performance. Thanks to liangly.
1091 o IO-279: Improve Tailer performance with buffered reads (see IO-332).
1092 o IO-329: FileUtils.writeLines uses unbuffered IO. Thanks to tivv.
1093 o IO-319: FileUtils.sizeOfDirectory follows symbolic links. Thanks to
1104 Source compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
1105 Semantic compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
1119 o IO-322: Add and use class Charsets. Thanks to ggregory.
1120 o IO-321: ByteOrderMark UTF_32LE is incorrect. Thanks to ggregory.
1121 o IO-318: Add Charset sister APIs to method that take a String charset name. Thanks to ggregory.
1125 Source compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
1126 Semantic compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
1139 o Add IOUtils.toBufferedReader(Reader) Issue: IO-313. Thanks to ggregory.
1140 o Allow applications to provide buffer (or size) for copyLarge methods. Issue: IO-308. Thanks to M…
1141 … in IOUtils that takes additional offset, length arguments Issue: IO-305. Thanks to Manoj Mokashi…
1142 …xabyte (EB) in FileUtils.byteCountToDisplaySize(long size) Issue: IO-287. Thanks to Ron Kuris, Ga…
1143 o FileUtils.listFiles() doesn't return directories Issue: IO-173. Thanks to Marcos Vin�cius da Sil…
1144 o CharSequenceInputStream to efficiently stream content of a CharSequence Issue: IO-297. Thanks to…
1145 …cond constructor of Tailer class does not pass 'delay' to the third one Issue: IO-304. Thanks to …
1146 … call branch.close() when main.close() throws an exception Issue: IO-303. Thanks to fabian.barney…
1147 …InputStream when reading a file without BOM multiple times Issue: IO-302. Thanks to jsteuerwald, …
1148 o Add IOUtils.closeQuietly(Selector) necessary Issue: IO-301. Thanks to kaykay.unique.
1149 o IOUtils.closeQuietly() should take a ServerSocket as a parameter Issue: IO-292. Thanks to sebb.
1150 o Add read/readFully methods to IOUtils Issue: IO-290. Thanks to sebb.
1151 o Supply a ReversedLinesFileReader Issue: IO-288. Thanks to Georg Henzler.
1152 o Add new function FileUtils.directoryContains. Issue: IO-291. Thanks to ggregory.
1153 o FileUtils.contentEquals and IOUtils.contentEquals - Add option to ignore "line endings"
1154 … Added contentEqualsIgnoreEOL methods to both classes Issue: IO-275. Thanks to CJ Aspromgos.
1157 o IOUtils.read(InputStream/Reader) ignores the offset parameter Issue: IO-311. Thanks to Robert Mu…
1158 …nceInputStream(CharSequence s, Charset charset, int bufferSize) ignores bufferSize Issue: IO-312.
1159 …moveDirectoryToDirectory removes source directory if destination is a subdirectory Issue: IO-300.
1160 o ReaderInputStream#read(byte[] b, int off, int len) should check for valid parameters Issue: IO-3…
1161 …nputStream#read(byte[] b, int off, int len) should always return 0 for length == 0 Issue: IO-306.
1162 o "FileUtils#deleteDirectoryOnExit(File)" does not work Issue: IO-276. Thanks to nkami.
1163 …d() treats max differently from BoundedInputStream.read(byte[]...) Issue: IO-273. Thanks to sebb.
1164 …s.io.FileUtils' incorrectly suppress 'java.io.IOException' Issue: IO-298. Thanks to Christian Sch…
1167 …timization: more efficient reading of small chunks of data Issue: IO-296. Thanks to Oleg Kalniche…
1183 o Use standard Maven directory layout Issue: IO-285. Thanks to ggregory.
1184 o Add IOUtils API toString for URL and URI to get contents Issue: IO-284. Thanks to ggregory.
1185 o Add API FileUtils.copyFile(File input, OutputStream output) Issue: IO-282. Thanks to ggregory.
1186 o FileAlterationObserver has no getter for FileFilter Issue: IO-262.
1187 o Add FileUtils.getFile API with varargs parameter Issue: IO-261.
1188 o Add new APPEND parameter for writing string into files Issue: IO-182.
1189 o Add new read method "toByteArray" to handle InputStream with known size. Issue: IO-251. Thanks t…
1192 o Dubious use of mkdirs() return code Issue: IO-280. Thanks to sebb.
1193 o ReaderInputStream enters infinite loop when it encounters an unmappable character Issue: IO-277.
1194 o FileUtils.moveFile() Javadoc should specify FileExistsException thrown Issue: IO-264.
1195 o ClassLoaderObjectInputStream does not handle Proxy classes Issue: IO-260.
1196 o Tailer returning partial lines when reaching EOF before EOL Issue: IO-274. Thanks to Frank Grime…
1197 …) throws IOException when copying large files to a shared directory (on Windows) Issue: IO-266. T…
1199 Improve coverage by also looking for hidden files. Issue: IO-263. Thanks to Gil Adam.
1202 o FileAlterationMonitor.stop(boolean allowIntervalToFinish) Issue: IO-259.
1209 ------------------------------
1210 Binary compatible - Yes
1212 Source compatible - Yes
1214 Semantic compatible - Yes
1221 ---------------------
1223 * [IO-256] - Provide thread factory for FileAlternationMonitor
1226 ------------------
1228 * [IO-257] - BOMInputStream.read(byte[]) can return 0 which it should not
1229 * [IO-258] - XmlStreamReader consumes the stream during encoding detection
1236 ----------------------
1237 Binary compatible - Yes
1239 Source compatible - Yes
1241 Semantic compatible - Yes
1248 ---------------------
1250 - IOUtils
1251 - write(StringBuffer, Writer) in favour of write(CharSequence, Writer)
1252 - write(StringBuffer, OutputStream) in favour of write(CharSequence, OutputStream)
1253 - write(StringBuffer, OutputStream, String) in favour of write(CharSequence, OutputStream, String)
1255 - FileFilterUtils
1256 - andFileFilter(IOFileFilter, IOFileFilter) in favour of and(IOFileFilter...)
1257 - orFileFilter(IOFileFilter, IOFileFilter) in favour of or(IOFileFilter...)
1260 ---------------------
1262 * [IO-140] Move minimum Java requirement from Java 1.3 to Java 5
1263 - use Generics
1264 - add new CharSequence write() flavour methods to IOUtils and FileUtils
1265 - replace StringBuffer with StringBuilder, where appropriate
1266 - add new Reader/Writer methods to ProxyReader and ProxyWriter
1267 - Annotate with @Override and @Deprecated
1269 …* [IO-178] New BOMInputStream and ByteOrderMark implementations - to detect and optionally exclude…
1270 * [IO-197] New BoundedInputStream (copied from Apache JackRabbit)
1271 * [IO-193] New Broken Input and Output streams
1272 * [IO-132] New File Listener/Monitor facility
1273 * [IO-158] New ReaderInputStream and WriterOutputStream implementations
1274 * [IO-139] New StringBuilder Writer implementation
1275 * [IO-192] New Tagged Input and Output streams
1276 * [IO-177] New Tailer class - simple implementation of the Unix "tail -f" functionality
1277 * [IO-162] New XML Stream Reader/Writer implementations (from ROME via plexus-utils)
1279 * [IO-142] Comparators - add facility to sort file lists/arrays
1280 * [IO-186] Comparators - new Composite and Directory File Comparator implementations
1281 …* [IO-176] DirectoryWalker - add filterDirectoryContents() callback method for filtering directory…
1282 * [IO-210] FileFilter - new Magic Number FileFilter
1283 * [IO-221] FileFilterUtils - add methods for suffix and prefix filters which take an IOCase object
1284 * [IO-232] FileFilterUtils - add method for name filters which take an IOCase object
1285 * [IO-229] FileFilterUtils - add varargs and() and or() methods
1286 * [IO-198] FileFilterUtils - add ability to apply file filters to collections and arrays
1287 …* [IO-156] FilenameUtils - add normalize() and normalizeNoEndSeparator() methods which allow the s…
1288 * [IO-194] FileSystemUtils - add freeSpaceKb() method with no input arguments
1289 …* [IO-185] FileSystemUtils - add freeSpaceKb() methods that take a timeout parameter - fixes freeS…
1290 * [IO-155] FileUtils - use NIO to copy files
1291 * [IO-168] FileUtils - add new isSymlink() method
1292 …* [IO-219] FileUtils - throw FileExistsException when moving a file or directory if the destinatio…
1293 * [IO-234] FileUtils - add Methods for retrieving System User/Temp directories/paths
1294 * [IO-208] FileUtils - add timeout (connection and read) support for copyURLToFile() method
1295 * [IO-238] FileUtils - add sizeOf(File) method
1296 * [IO-181] LineIterator now implements Iterable
1297 * [IO-224] IOUtils - add closeQuietly(Closeable) and closeQuietly(Socket) methods
1298 * [IO-203] IOUtils - add skipFully() method for InputStreams
1299 …* [IO-137] IOUtils and ByteArrayOutputStream - add toBufferedInputStream() method to avoid unneces…
1300 * [IO-195] Proxy streams/Reader/Writer - provide exception handling methods
1301 * [IO-211] Proxy Input/Output streams - add pre/post processing support
1302 * [IO-242] Proxy Reader/Writer - add pre/post processing support
1305 ------------------
1306 * [IO-214] ByteArrayOutputStream - fix inconsistent synchronization of fields
1307 * [IO-201] Counting Input/Output streams - fix inconsistent synchronization
1308 * [IO-159] FileCleaningTracker - fix remove() never returns null
1309 * [IO-220] FileCleaningTracker - fix Vector performs badly under load
1310 …* [IO-167] FilenameUtils - fix case-insensitive string handling in FilenameUtils and FilesystemUti…
1311 * [IO-179] FilenameUtils - fix StringIndexOutOfBounds exception in getPathNoEndSeparator()
1312 …* [IO-248] FilenameUtils - fix getFullPathNoEndSeparator() returns empty while path is a one level…
1313 * [IO-246] FilenameUtils - fix wildcardMatch gives incorrect results
1314 * [IO-187] FileSystemUtils - fix freeSpaceKb() doesn't work with relative paths on Linux
1315 * [IO-160] FileSystemUtils - fix freeSpace() fails on solaris
1316 …* [IO-209] FileSystemUtils - fix freeSpaceKb() fails to return correct size for a windows mount po…
1317 * [IO-163] FileUtils - fix toURLs() using deprecated method of conversion to URL
1318 * [IO-168] FileUtils - fix Symbolic links followed when deleting directory
1319 * [IO-231] FileUtils - fix wrong exception message generated in isFileNewer() method
1320 * [IO-207] FileUtils - fix race condition in forceMkdir() method
1321 * [IO-217] FileUtils - fix copyDirectoryToDirectory() makes infinite loops
1322 * [IO-166] FileUtils - fix URL decoding in toFile(URL)
1323 * [IO-190] FileUtils - fix copyDirectory not preserving lastmodified date on subdirectories
1324 * [IO-240] FileFilterUtils - ensure cvsFilter and svnFilter are only created once.
1325 * [IO-175] IOUtils - fix copyFile() issues with very large files
1326 * [IO-191] Improvements from static analysis
1327 …* [IO-216] LockableFileWriter - delete files quietly when an exception is thrown during initializa…
1328 * [IO-243] SwappedDataInputStream - fix readBoolean is inverted
1329 * [IO-235] Tests - remove unused YellOnFlushAndCloseOutputStream from CopyUtilsTest
1330 * [IO-161] Tests - fix FileCleaningTrackerTestCase hanging
1333 ------------------------------
1334 * [IO-183 FilenameUtils.getExtension() method documentation improvements
1335 * [IO-226 FileUtils.byteCountToDisplaySize() documentation corrections
1336 * [IO-205 FileUtils.forceMkdir() documentation improvements
1337 …* [IO-215 FileUtils copy file/directory improve documentation regarding preserving the last modifi…
1338 * [IO-189 HexDump.dump() method documentation improvements
1339 * [IO-171 IOCase document that it assumes there are only two OSes: Windows and Unix
1340 * [IO-223 IOUtils.copy() documentation corrections
1341 * [IO-247 IOUtils.closeQuietly() improve documentation with examples
1342 * [IO-202 NotFileFilter documentation corrections
1343 * [IO-206 ProxyInputStream - fix misleading parameter names
1344 * [IO-212 ProxyInputStream.skip() documentation corrections
1351 ------------------------
1352 Binary compatible - Yes
1354 Source compatible - Yes
1356 Semantic compatible - Yes
1361 It has been built with the JDK source and target options set to Java 1.3 and, except for
1362 those implementations, can be used with Java 1.3 (see IO-127).
1365 -----------------------
1366 - FileCleaner deprecated in favour of FileCleaningTracker [see IO-116]
1369 --------------------
1370 - FileUtils
1371 - forceDelete of orphaned Softlinks does not work [IO-147]
1372 - Infinite loop on FileUtils.copyDirectory when the destination directory is within
1373 the source directory [IO-141]
1374 - Add a copyDirectory() method that makes use of FileFilter [IO-105]
1375 - Add moveDirectory() and moveFile() methods [IO-77]
1377 - HexDump
1378 - HexDump's use of static StringBuffers isn't thread-safe [IO-136]
1381 -----------------------
1382 - FileUtils
1383 - Add a deleteQuietly method [IO-135]
1385 - FilenameUtils
1386 - Add file name extension separator constants[IO-149]
1388 - IOExceptionWithCause [IO-148]
1389 - Add a new IOException implementation with constructors which take a cause
1391 - TeeInputStream [IO-129]
1392 - Add new Tee input stream implementation
1394 - FileWriterWithEncoding [IO-153]
1395 - Add new File Writer implementation that accepts an encoding
1397 - CharSequenceReader [IO-138]
1398 - Add new Reader implementation that handles any CharSequence (String,
1401 - ThresholdingOutputStream [IO-121]
1402 - Add a reset() method which sets the count of the bytes written back to zero.
1404 - DeferredFileOutputStream [IO-130]
1405 - Add support for temporary files
1407 - ByteArrayOutputStream
1408 - Add a new write(InputStream) method [IO-152]
1410 - New Closed Input/Output stream implementations [IO-122]
1411 - AutoCloseInputStream - automatically closes and discards the underlying input stream
1412 - ClosedInputStream - returns -1 for any read attempts
1413 - ClosedOutputStream - throws an IOException for any write attempts
1414 - CloseShieldInputStream - prevents the underlying input stream from being closed.
1415 - CloseShieldOutputStream - prevents the underlying output stream from being closed.
1417 - Add Singleton Constants to several stream classes [IO-143]
1419 - PrefixFileFilter [IO-126]
1420 - Add facility to specify case sensitivity on prefix matching
1422 - SuffixFileFilter [IO-126]
1423 - Add facility to specify case sensitivity on suffix matching
1425 - RegexFileFilter [IO-74]
1426 - Add new regular expression file filter implementation
1428 - Make IOFileFilter implementations Serializable [IO-131]
1430 - Improve IOFileFilter toString() methods [IO-120]
1432 - Make fields final so classes are immutable/threadsafe [IO-133]
1433 - changes to Age, Delegate, Name, Not, Prefix, Regex, Size, Suffix and Wildcard IOFileFilter
1436 - IOCase
1437 - Add a compare method to IOCase [IO-144]
1439 - Add a package of java.util.Comparator implementations for files [IO-145]
1440 - DefaultFileComparator - compare files using the default File.compareTo(File) method.
1441 - ExtensionFileComparator - compares files using file name extensions.
1442 - LastModifiedFileComparator - compares files using the last modified date/time.
1443 - NameFileComparator - compares files using file names.
1444 - PathFileComparator - compares files using file paths.
1445 - SizeFileComparator - compares files using file sizes.
1452 ----------------------
1453 Binary compatible - Yes
1455 Source compatible - Yes
1457 Semantic compatible - Yes
1460 ----------------------
1461 Binary compatible - No
1462 See [IO-113]
1464 Source compatible - No
1465 See [IO-113]
1467 Semantic compatible - Yes
1470 ------------------------
1472 - Created the FileCleaningTracker, basically a non-static version of the
1473 FileCleaner, which can be controlled by the user. [IO-116]
1474 - The FileCleaner is deprecated.
1477 --------------------
1479 - Some tests, which are implicitly assuming a Unix-like file system, are
1480 now skipped on Windows. [IO-115]
1481 - EndianUtils
1482 - Both readSwappedUnsignedInteger(...) methods could return negative
1483 numbers due to int/long casting. [IO-117]
1486 ------------------
1488 - FileUtils
1489 - NPE in openOutputStream(File) when file has no parent in path [IO-112]
1490 - readFileToString(File) is not static [IO-113]
1497 ----------------------
1498 Binary compatible - No
1499 See [IO-113]
1501 Source compatible - No
1502 See [IO-113]
1504 Semantic compatible - Yes
1507 ------------------
1509 - FileUtils
1510 - NPE in openOutputStream(File) when file has no parent in path [IO-112]
1511 - readFileToString(File) is not static [IO-113]
1518 ----------------------
1519 Binary compatible - Yes
1521 Source compatible - Yes
1523 Semantic compatible - Yes
1527 ---------------------
1528 - WildcardFilter deprecated, replaced by WildcardFileFilter
1529 - old class only accepted files, thus had a confusing dual purpose
1531 - FileSystemUtils.freeSpace deprecated, replaced by freeSpaceKb
1532 - freeSpace returns a result that varies by operating system and
1534 - freeSpaceKb returns much better and more consistent results
1535 - freeSpaceKb existed in v1.2, so this is a gentle cutover
1538 ------------------
1539 - LineIterator now implements Iterator
1540 - It was always supposed to...
1542 - FileSystemUtils.freeSpace/freeSpaceKb [IO-83]
1543 - These should now work on AIX and HP-UX
1545 - FileSystemUtils.freeSpace/freeSpaceKb [IO-90]
1546 - Avoid infinite looping in Windows
1547 - Catch more errors with nice messages
1549 - FileSystemUtils.freeSpace [IO-91]
1550 - This is now documented not to work on SunOS 5
1552 - FileSystemUtils [IO-93]
1553 - Fixed resource leak leading to 'Too many open files' error
1554 - Previously did not destroy Process instances (as JDK Javadoc is so poor)
1555 - http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4801027
1557 - FileUtils.touch [IO-100]
1558 - The touch method previously gave no indication when the file could not
1559 be touched successfully (such as due to access restrictions) - it now
1562 - FileCleaner
1563 - This now handles the situation where an error occurs when deleting the file
1565 - IOUtils.copy [IO-84]
1566 - Copy methods could return inaccurate byte/char count for large streams
1567 - The copy(InputStream, OutputStream) method now returns -1 if the count is greater than an int
1568 - The copy(Reader, Writer) method now throws now returns -1 if the count is greater than an int
1569 - Added a new copyLarge(InputStream, OutputStream) method that returns a long
1570 - Added a new copyLarge(Reader, Writer) method that returns a long
1572 - CountingInputStream/CountingOutputStream [IO-84]
1573 - Methods were declared as int thus the count was inaccurate for large streams
1574 - new long based methods getByteCount()/resetByteCount() added
1575 - existing methods changed to throw an exception if the count is greater than an int
1577 - FileBasedTestCase
1578 - Fixed bug in compare content methods identified by GNU classpath
1580 - EndianUtils.writeSwappedLong(byte[], int) [IO-101]
1581 - An int overrun in the bit shifting when it should have been a long
1583 - EndianUtils.writeSwappedLong(InputStream) [IO-102]
1584 - The return of input.read(byte[]) was not being checked to ensure all 8 bytes were read
1587 ---------------------
1588 - DirectoryWalker [IO-86]
1589 - New class designed for subclassing to walk through a set of files.
1594 - IOCase
1595 - New class/enumeration for case-sensitivity control
1597 - FilenameUtils
1598 - New methods to handle case-sensitivity
1599 - wildcardMatch - new method that has IOCase as a parameter
1600 - equals - new method that has IOCase as a parameter
1602 - FileUtils [IO-108] - new default encoding methods for:
1603 - readFileToString(File)
1604 - readLines(File)
1605 - lineIterator(File)
1606 - writeStringToFile(File, String)
1607 - writeLines(File, Collection)
1608 - writeLines(File, Collection, String)
1610 - FileUtils.openOutputStream [IO-107]
1611 - new method to open a FileOutputStream, creating parent directories if required
1612 - FileUtils.touch
1613 - FileUtils.copyURLToFile
1614 - FileUtils.writeStringToFile
1615 - FileUtils.writeByteArrayToFile
1616 - FileUtils.writeLines
1617 - enhanced to create parent directories if required
1618 - FileUtils.openInputStream [IO-107]
1619 - new method to open a FileInputStream, providing better error messages than the JDK
1621 - FileUtils.isFileOlder
1622 - new methods to check if a file is older (i.e. isFileOlder()) - counterparts
1623 to the existing isFileNewer() methods.
1625 - FileUtils.checksum, FileUtils.checksumCRC32
1626 - new methods to create a checksum of a file
1628 - FileUtils.copyFileToDirectory [IO-104]
1629 - new variant that optionally retains the file date
1631 - FileDeleteStrategy
1632 - FileCleaner [IO-56,IO-70]
1633 - FileDeleteStrategy is a strategy for handling file deletion
1634 - This can be used as a callback in FileCleaner
1635 - Together these allow FileCleaner to do a forceDelete to kill directories
1637 - FileCleaner.exitWhenFinished [IO-99]
1638 - A new method that allows the internal cleaner thread to be cleanly terminated
1640 - WildcardFileFilter
1641 - Replacement for WildcardFilter
1642 - Accepts both files and directories
1643 - Ability to control case-sensitivity
1645 - NameFileFilter
1646 - Ability to control case-sensitivity
1648 - FileFileFilter
1649 - New IOFileFilter implementation
1650 - Accepts files where File.isFile() is true
1651 - In other words it filters out directories
1652 - Singleton instance provided (FILE)
1654 - CanReadFileFilter
1655 - New IOFileFilter implementation
1656 - Accepts files where File.canRead() is true
1657 - Singleton instances provided (CAN_READ/CANNOT_READ/READ_ONLY)
1659 - CanWriteFileFilter
1660 - New IOFileFilter implementation
1661 - Accepts files where File.canWrite() is true
1662 - Singleton instances provided (CAN_WRITE/CANNOT_WRITE)
1664 - HiddenFileFilter
1665 - New IOFileFilter implementation
1666 - Accepts files where File.isHidden() is true
1667 - Singleton instances provided (HIDDEN/VISIBLE)
1669 - EmptyFileFilter
1670 - New IOFileFilter implementation
1671 - Accepts files or directories that are empty
1672 - Singleton instances provided (EMPTY/NOT_EMPTY)
1674 - TrueFileFilter/FalseFileFilter/DirectoryFileFilter
1675 - New singleton instance constants (TRUE/FALSE/DIRECTORY)
1676 - The new constants are more Java 5 friendly with regards to static imports
1678 - The old INSTANCE constants are still present and have not been deprecated
1680 - FileFilterUtils.sizeRangeFileFilter
1681 - new sizeRangeFileFilter(long minimumSize, long maximumSize) method which
1684 - FileFilterUtils.makeDirectoryOnly/makeFileOnly
1685 - two new methods that decorate a file filter to make it apply to
1688 - NullWriter
1689 - New writer that acts as a sink for all data, as per /dev/null
1691 - NullInputStream
1692 - New input stream that emulates a stream of a specified size
1694 - NullReader
1695 - New reader that emulates a reader of a specified size
1697 - ByteArrayOutputStream [IO-97]
1698 - Performance enhancements
1705 ----------------------
1706 Binary compatible - Yes
1708 Source compatible - Yes
1710 Semantic compatible - Yes
1713 ---------------------
1716 ------------------
1717 - FileSystemUtils.freeSpace(drive)
1718 Fix to allow Windows based command to function in French locale
1720 - FileUtils.read*
1723 - LockableFileWriter
1728 ---------------------
1729 - AgeFileFilter/SizeFileFilter
1732 - FileSystemUtils.freeSpaceKb(drive)
1733 New method that unifies result to be in kilobytes [38574]
1735 - FileUtils.contentEquals(File,File)
1738 - FileUtils.iterateFiles
1739 Two new method to provide direct access to iterators over files
1741 - FileUtils.lineIterator
1743 New methods to provide an iterator over the lines in a file [38083]
1745 - FileUtils.copyDirectoryToDirectory
1746 New method to copy a directory to within another directory [36315]
1753 -----------------------------
1754 Binary compatible - Yes
1756 Source compatible - Yes
1758 Semantic compatible - Yes, except:
1759 - FileUtils.writeStringToFile()
1760 A null encoding previously used 'ISO-8859-1', now it uses the platform default
1763 - LockableFileWriter
1767 - FileUtils.touch() (Bug fix 29821)
1770 - FileUtils.toFile(URL) (Bug fix 32575)
1773 - FileUtils.sizeOfDirectory() (Bug fix 36801)
1777 ---------------------
1778 - CopyUtils has been deprecated.
1779 Its methods have been moved to IOUtils.
1782 - IOUtils.toByteArray(String) - Use {@link String#getBytes()}
1783 - IOUtils.toString(byte[]) - Use {@link String#String(byte[])}
1784 - IOUtils.toString(byte[],String) - Use {@link String#String(byte[],String)}
1787 ------------------
1788 - FileUtils - touch() [29821]
1791 - FileUtils - toFile(URL) [32575]
1794 - FileFilterUtils - makeCVSAware(IOFileFilter) [33023]
1795 Fixed bug that caused method to be completely broken
1797 - CountingInputStream [33336]
1798 Fixed bug that caused the count to reduce by one at the end of the stream
1800 - CountingInputStream - skip(long) [34311]
1801 Bytes from calls to this method were not previously counted
1803 - NullOutputStream [33481]
1806 - AbstractFileFilter - accept(File, String) [30992]
1809 - FileUtils [36801]
1813 - FileUtils - writeStringToFile()
1817 ---------------------
1818 - FilenameUtils - new class [33303,29351]
1820 Seeks to ease the pain of developing on Windows and deploying on Unix
1822 - FileSystemUtils - new class [32982,36325]
1824 Provides one method at present, to get the free space on the filing system
1826 - IOUtils - new public constants
1829 - IOUtils - toByteArray(Reader,encoding)
1830 Handles encodings when reading to a byte array
1832 - IOUtils - toCharArray(InputStream) [28979]
1833 - toCharArray(InputStream,encoding)
1834 - toCharArray(Reader)
1837 - IOUtils - readLines(InputStream) [36214]
1838 - readLines(InputStream,encoding)
1839 - readLines(Reader)
1842 - IOUtils - toInputStream(String) [32958]
1843 - toInputStream(String,encoding)
1846 - IOUtils - writeLines(Collection,lineEnding,OutputStream) [36214]
1847 - writeLines(Collection,lineEnding,OutputStream,encoding)
1848 - writeLines(Collection,lineEnding,Writer)
1849 Writes a collection to a stream/writer line by line
1851 - IOUtils - write(...)
1852 Write data to a stream/writer (moved from CopyUtils with better null handling)
1854 - IOUtils - copy(...)
1857 - IOUtils - contentEquals(Reader,Reader)
1858 Method to compare the contents of two readers
1860 - FileUtils - toFiles(URL[])
1861 Converts an array of URLs to an array of Files
1863 - FileUtils - copyDirectory() [32944]
1864 New methods to copy a directory
1866 - FileUtils - readFileToByteArray(File)
1869 - FileUtils - writeByteArrayToFile(File,byte[])
1870 Writes a byte array to a file
1872 - FileUtils - readLines(File,encoding) [36214]
1875 - FileUtils - writeLines(File,encoding,List)
1877 Writes a collection to a file line by line
1879 - FileUtils - EMPTY_FILE_ARRAY
1882 - ConditionalFileFilter - new interface [30705]
1885 - AndFileFilter, OrFileFilter [30705]
1886 Now support a list of filters to and/or
1888 - WildcardFilter [31115]
1891 - FileFilterUtils - makeSVNAware(IOFileFilter)
1894 - ClassLoaderObjectInputStream
1897 - CountingInputStream,CountingOutputStream - resetCount() [28976]
1898 Adds the ability to reset the count part way through reading/writing the stream
1900 - DeferredFileOutputStream - writeTo(OutputStream) [34173]
1901 New method to allow current contents to be written to a stream
1903 - DeferredFileOutputStream [34142]
1906 - LockableFileWriter - encoding support [36825]
1907 Add support for character encodings to LockableFileWriter
1911 - IOUtils and EndianUtils are no longer final [28978]
1912 Allows developers to have subclasses if desired
1921 Please direct all bug reports to JIRA
1924 Or subscribe to the commons-user mailing list (prefix emails by [io])
1925 https://commons.apache.org/mail-lists.html
1927 The Commons-IO Team