| $Id$ |
| |
| Commons IO Package |
| Version 1.1 |
| Release Notes |
| |
| |
| INTRODUCTION: |
| |
| Commons IO is a package of Java utility classes for java.io's hierarchy. |
| 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, |
| and endian transformation classes. |
| |
| |
| Incompatible changes from 1.0 |
| ----------------------------- |
| Binary compatible - Yes |
| |
| Source compatible - Yes |
| |
| Semantic compatible - Yes, except: |
| - FileUtils.writeStringToFile() |
| A null encoding previously used 'ISO-8859-1', now it uses the platform default |
| Generally this will make no difference |
| |
| - LockableFileWriter |
| Improved validation and now create directories if necesssary |
| |
| plus these bug fixes may affect you semantically: |
| - FileUtils.touch() (Bug fix 29821) |
| Now creates the file if it did not previously exist |
| |
| - FileUtils.toFile(URL) (Bug fix 32575) |
| Now handles escape syntax such as %20 |
| |
| - FileUtils.sizeOfDirectory() (Bug fix 36801) |
| May now return a size of 0 if the directory is security restricted |
| |
| |
| Deprecations from 1.0 |
| --------------------- |
| - CopyUtils has been deprecated. |
| Its methods have been moved to IOUtils. |
| The new IOUtils methods handle nulls better, and have clearer names. |
| |
| - IOUtils.toByteArray(String) - Use {@link String#getBytes()} |
| - IOUtils.toString(byte[]) - Use {@link String#String(byte[])} |
| - IOUtils.toString(byte[],String) - Use {@link String#String(byte[],String)} |
| |
| |
| Bug fixes from 1.0 |
| ------------------ |
| - FileUtils - touch() [29821] |
| Now creates the file if it did not previously exist |
| |
| - FileUtils - toFile(URL) [32575] |
| Now handles escape syntax such as %20 |
| |
| - FileFilterUtils - makeCVSAware(IOFileFilter) [33023] |
| Fixed bug that caused method to be completely broken |
| |
| - CountingInputStream [33336] |
| Fixed bug that caused the count to reduce by one at the end of the stream |
| |
| - CountingInputStream - skip(long) [34311] |
| Bytes from calls to this method were not previously counted |
| |
| - NullOutputStream [33481] |
| Remove unecessary synchronization |
| |
| - AbstractFileFilter - accept(File, String) [30992] |
| Fixed broken implementation |
| |
| - FileUtils [36801] |
| Previously threw NPE when listing files in a security restricted directory |
| Now throw IOException with a better message |
| |
| - FileUtils - writeStringToFile() |
| Null encoding now correctly uses the platform default |
| |
| |
| Enhancements from 1.0 |
| --------------------- |
| - FilenameUtils - new class [33303,29351] |
| A static utility class for working with filenames |
| Seeks to ease the pain of developing on Windows and deploying on Unix |
| |
| - FileSystemUtils - new class [32982,36325] |
| A static utility class for working with file systems |
| Provides one method at present, to get the free space on the filing system |
| |
| - IOUtils - new public constants |
| Constants for directory and line separators on Windows and Unix |
| |
| - IOUtils - toByteArray(Reader,encoding) |
| Handles encodings when reading to a byte array |
| |
| - IOUtils - toCharArray(InputStream) [28979] |
| - toCharArray(InputStream,encoding) |
| - toCharArray(Reader) |
| Reads a stream/reader into a charatcter array |
| |
| - IOUtils - readLines(InputStream) [36214] |
| - readLines(InputStream,encoding) |
| - readLines(Reader) |
| Reads a stream/reader line by line into a List of Strings |
| |
| - IOUtils - toInputStream(String) [32958] |
| - toInputStream(String,encoding) |
| Creates an input stream that uses the string as a source of data |
| |
| - IOUtils - writeLines(Collection,lineEnding,OutputStream) [36214] |
| - writeLines(Collection,lineEnding,OutputStream,encoding) |
| - writeLines(Collection,lineEnding,Writer) |
| Writes a collection to a stream/writer line by line |
| |
| - IOUtils - write(...) |
| Write data to a stream/writer (moved from CopyUtils with better null handling) |
| |
| - IOUtils - copy(...) |
| Copy data between streams (moved from CopyUtils with better null handling) |
| |
| - IOUtils - contentEquals(Reader,Reader) |
| Method to compare the contents of two readers |
| |
| - FileUtils - toFiles(URL[]) |
| Converts an array of URLs to an array of Files |
| |
| - FileUtils - copyDirectory() [32944] |
| New methods to copy a directory |
| |
| - FileUtils - readFileToByteArray(File) |
| Reads an entire file into a byte array |
| |
| - FileUtils - writeByteArrayToFile(File,byte[]) |
| Writes a byte array to a file |
| |
| - FileUtils - readLines(File,encoding) [36214] |
| Reads a file line by line into a List of Strings |
| |
| - FileUtils - writeLines(File,encoding,List) |
| writeLines(File,encoding,List,lineEnding) |
| Writes a collection to a file line by line |
| |
| - FileUtils - EMPTY_FILE_ARRAY |
| Constant for an empty array of File objects |
| |
| - ConditionalFileFilter - new interface [30705] |
| Defines the behaviour of list based filters |
| |
| - AndFileFilter, OrFileFilter [30705] |
| Now support a list of filters to and/or |
| |
| - WildcardFilter [31115] |
| New filter that can match using wildcard file names |
| |
| - FileFilterUtils - makeSVNAware(IOFileFilter) |
| New method, like makeCVSAware, that ignores Subversion source control directories |
| |
| - ClassLoaderObjectInputStream |
| An ObjectInputStream that supports a ClassLoader |
| |
| - CountingInputStream,CountingOutputStream - resetCount() [28976] |
| Adds the ability to reset the count part way through reading/writing the stream |
| |
| - DeferredFileOutputStream - writeTo(OutputStream) [34173] |
| New method to allow current contents to be written to a stream |
| |
| - DeferredFileOutputStream [34142] |
| Performance optimizations avoiding double buffering |
| |
| - LockableFileWriter - encoding support [36825] |
| Add support for character encodings to LockableFileWriter |
| Improve the validation |
| Create directories if necesssary |
| |
| - IOUtils and EndianUtils are no longer final [28978] |
| Allows developers to have subclasses if desired |
| |
| |
| Feedback |
| -------- |
| Open source works best when you give feedback. |
| http://jakarta.apache.org/commons/io/ |
| |
| Please direct all bug reports to Bugzilla. |
| http://issues.apache.org/bugzilla/buglist.cgi?product=Commons&component=IO |
| |
| Or subscribe to the commons-user mailing list (prefix emails by [io]) |
| http://jakarta.apache.org/site/mail.html |
| |
| The Commons-IO Team |