The Commons IO team is pleased to announce the Commons IO 2.2 release! Commons IO is a package of Java utility classes like java.io. Classes in this package are considered to be so standard and of such high reuse as to justify existence in java.io.
The Commons IO library contains utility classes, stream implementations, file filters, file comparators, endian transformation classes, and much more. This is a drop-in replacement for 2.1. A list of the 15 new features, 1 change and 8 bug fixes in this release are found in the release notes and below. https://commons.apache.org/io/changes-report.html#a2.2 For general information on Commons IO please visit the website: http://commons.apache.org/io/ The latest version may be downloaded from the following page: http://commons.apache.org/io/download_io.cgi Thanks again to all involved in the release, both Commons users and Commons developers. ============================================================================== Commons IO Package Version 2.2 ============================================================================== Changes in this version include: New features: o IO-313: Add IOUTils.toBufferedReader(Reader) Thanks to ggregory. o IO-308: Allow applications to provide buffer (or size) for copyLarge methods. Thanks to Manoj Mokashi. o IO-305: New copyLarge() method in IOUtils that takes additional offset, length arguments Thanks to Manoj Mokashi. o IO-287: Use terabyte (TB), petabyte (PB) and exabyte (EB) in FileUtils.byteCountToDisplaySize(long size) Thanks to Ron Kuris, Gary Gregory. o IO-173: FileUtils.listFiles() doesn't return directories Thanks to Marcos VinÃcius da Silva. o IO-297: CharSequenceInputStream to efficiently stream content of a CharSequence Thanks to Oleg Kalnichevski. o IO-304: The second constructor of Tailer class does not pass 'delay' to the third one Thanks to liangly. o IO-303: TeeOutputStream does not call branch.close() when main.close() throws an exception Thanks to fabian.barney. o IO-302: ArrayIndexOutOfBoundsException in BOMInputStream when reading a file without BOM multiple times Thanks to jsteuerwald, detinho. o IO-301: Add IOUtils.closeQuietly(Selector) necessary Thanks to kaykay.unique. o IO-292: IOUtils.closeQuietly() should take a ServerSocket as a parameter Thanks to sebb. o IO-290: Add read/readFully methods to IOUtils Thanks to sebb. o IO-288: Supply a ReversedLinesFileReader Thanks to Georg Henzler. o IO-291: Add new function FileUtils.directoryContains. Thanks to ggregory. o IO-275: FileUtils.contentEquals and IOUtils.contentEquals - Add option to ignore "line endings" Added contentEqualsIgnoreEOL methods to both classes Thanks to CJ Aspromgos. Fixed Bugs: o IO-311: IOUtils.read(InputStream/Reader) ignores the offset parameter Thanks to Robert Muir. o IO-312: CharSequenceInputStream(CharSequence s, Charset charset, int bufferSize) ignores bufferSize o IO-300: FileUtils.moveDirectoryToDirectory removes source directory if destination is a subdirectory o IO-307: ReaderInputStream#read(byte[] b, int off, int len) should check for valid parameters o IO-306: ReaderInputStream#read(byte[] b, int off, int len) should always return 0 for length == 0 o IO-276: "FileUtils#deleteDirectoryOnExit(File)" does not work Thanks to nkami. o IO-273: BoundedInputStream.read() treats max differently from BoundedInputStream.read(byte[]...) Thanks to sebb. o IO-298: Various methods of class 'org.apache.commons.io.FileUtils' incorrectly suppress 'java.io.IOException' Thanks to Christian Schulte. Changes: o IO-296: ReaderInputStream optimization: more efficient reading of small chunks of data Thanks to Oleg Kalnichevski. Compatibility with 2.1 and 1.4: Binary compatible: Yes Source compatible: Yes Semantic compatible: Yes. Check the bug fixes section for semantic bug fixes Commons IO 2.2 requires a minimum of JDK 1.5. Commons IO 1.4 requires a minimum of JDK 1.3. -- E-Mail: garydgreg...@gmail.com | ggreg...@apache.org JUnit in Action, 2nd Ed: <http://goog_1249600977>http://bit.ly/ECvg0 Spring Batch in Action: <http://s.apache.org/HOq>http://bit.ly/bqpbCK Blog: http://garygregory.wordpress.com Home: http://garygregory.com/ Tweet! http://twitter.com/GaryGregory