Apache Commons logo Commons IO


These are the release notes and advice for upgrading Commons-IO from version 2.1 to version 2.2

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.

Commons IO contains utility classes, stream implementations, file filters, 
file comparators, endian transformation classes, and much more.

Commons IO Package Version 2.2

Changes in this version include:

New features:
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-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. 

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.