@@ -26,6 +26,178 @@ limitations under the License.
2626These are the release notes and advice for upgrading Commons-IO from
2727version 1.0 to version 1.1.
2828<source >
29+ Commons IO is a package of Java utility classes for java.io's hierarchy.
30+ Classes in this package are considered to be so standard and of such high
31+ reuse as to justify existence in java.io.
32+
33+ Commons IO contains utility classes, stream implementations, file filters,
34+ and endian transformation classes.
35+
36+
37+ Incompatible changes from 1.0
38+ -----------------------------
39+ Binary compatible - Yes
40+
41+ Source compatible - Yes
42+
43+ Semantic compatible - Yes, except:
44+ - FileUtils.writeStringToFile()
45+ A null encoding previously used 'ISO-8859-1', now it uses the platform default
46+ Generally this will make no difference
47+
48+ - LockableFileWriter
49+ Improved validation and now create directories if necesssary
50+
51+ plus these bug fixes may affect you semantically:
52+ - FileUtils.touch() (Bug fix 29821)
53+ Now creates the file if it did not previously exist
54+
55+ - FileUtils.toFile(URL) (Bug fix 32575)
56+ Now handles escape syntax such as %20
57+
58+ - FileUtils.sizeOfDirectory() (Bug fix 36801)
59+ May now return a size of 0 if the directory is security restricted
60+
61+
62+ Deprecations from 1.0
63+ ---------------------
64+ - CopyUtils has been deprecated.
65+ Its methods have been moved to IOUtils.
66+ The new IOUtils methods handle nulls better, and have clearer names.
67+
68+ - IOUtils.toByteArray(String) - Use {@link String#getBytes()}
69+ - IOUtils.toString(byte[]) - Use {@link String#String(byte[])}
70+ - IOUtils.toString(byte[],String) - Use {@link String#String(byte[],String)}
71+
72+
73+ Bug fixes from 1.0
74+ ------------------
75+ - FileUtils - touch() [29821]
76+ Now creates the file if it did not previously exist
77+
78+ - FileUtils - toFile(URL) [32575]
79+ Now handles escape syntax such as %20
80+
81+ - FileFilterUtils - makeCVSAware(IOFileFilter) [33023]
82+ Fixed bug that caused method to be completely broken
83+
84+ - CountingInputStream [33336]
85+ Fixed bug that caused the count to reduce by one at the end of the stream
86+
87+ - CountingInputStream - skip(long) [34311]
88+ Bytes from calls to this method were not previously counted
89+
90+ - NullOutputStream [33481]
91+ Remove unecessary synchronization
92+
93+ - AbstractFileFilter - accept(File, String) [30992]
94+ Fixed broken implementation
95+
96+ - FileUtils [36801]
97+ Previously threw NPE when listing files in a security restricted directory
98+ Now throw IOException with a better message
99+
100+ - FileUtils - writeStringToFile()
101+ Null encoding now correctly uses the platform default
102+
103+
104+ Enhancements from 1.0
105+ ---------------------
106+ - FilenameUtils - new class [33303,29351]
107+ A static utility class for working with filenames
108+ Seeks to ease the pain of developing on Windows and deploying on Unix
109+
110+ - FileSystemUtils - new class [32982,36325]
111+ A static utility class for working with file systems
112+ Provides one method at present, to get the free space on the filing system
113+
114+ - IOUtils - new public constants
115+ Constants for directory and line separators on Windows and Unix
116+
117+ - IOUtils - toByteArray(Reader,encoding)
118+ Handles encodings when reading to a byte array
119+
120+ - IOUtils - toCharArray(InputStream) [28979]
121+ - toCharArray(InputStream,encoding)
122+ - toCharArray(Reader)
123+ Reads a stream/reader into a charatcter array
124+
125+ - IOUtils - readLines(InputStream) [36214]
126+ - readLines(InputStream,encoding)
127+ - readLines(Reader)
128+ Reads a stream/reader line by line into a List of Strings
129+
130+ - IOUtils - toInputStream(String) [32958]
131+ - toInputStream(String,encoding)
132+ Creates an input stream that uses the string as a source of data
133+
134+ - IOUtils - writeLines(Collection,lineEnding,OutputStream) [36214]
135+ - writeLines(Collection,lineEnding,OutputStream,encoding)
136+ - writeLines(Collection,lineEnding,Writer)
137+ Writes a collection to a stream/writer line by line
138+
139+ - IOUtils - write(...)
140+ Write data to a stream/writer (moved from CopyUtils with better null handling)
141+
142+ - IOUtils - copy(...)
143+ Copy data between streams (moved from CopyUtils with better null handling)
144+
145+ - IOUtils - contentEquals(Reader,Reader)
146+ Method to compare the contents of two readers
147+
148+ - FileUtils - toFiles(URL[])
149+ Converts an array of URLs to an array of Files
150+
151+ - FileUtils - copyDirectory() [32944]
152+ New methods to copy a directory
153+
154+ - FileUtils - readFileToByteArray(File)
155+ Reads an entire file into a byte array
156+
157+ - FileUtils - writeByteArrayToFile(File,byte[])
158+ Writes a byte array to a file
159+
160+ - FileUtils - readLines(File,encoding) [36214]
161+ Reads a file line by line into a List of Strings
162+
163+ - FileUtils - writeLines(File,encoding,List)
164+ writeLines(File,encoding,List,lineEnding)
165+ Writes a collection to a file line by line
166+
167+ - FileUtils - EMPTY_FILE_ARRAY
168+ Constant for an empty array of File objects
169+
170+ - ConditionalFileFilter - new interface [30705]
171+ Defines the behaviour of list based filters
172+
173+ - AndFileFilter, OrFileFilter [30705]
174+ Now support a list of filters to and/or
175+
176+ - WildcardFilter [31115]
177+ New filter that can match using wildcard file names
178+
179+ - FileFilterUtils - makeSVNAware(IOFileFilter)
180+ New method, like makeCVSAware, that ignores Subversion source control directories
181+
182+ - ClassLoaderObjectInputStream
183+ An ObjectInputStream that supports a ClassLoader
184+
185+ - CountingInputStream,CountingOutputStream - resetCount() [28976]
186+ Adds the ability to reset the count part way through reading/writing the stream
187+
188+ - DeferredFileOutputStream - writeTo(OutputStream) [34173]
189+ New method to allow current contents to be written to a stream
190+
191+ - DeferredFileOutputStream [34142]
192+ Performance optimizations avoiding double buffering
193+
194+ - LockableFileWriter - encoding support [36825]
195+ Add support for character encodings to LockableFileWriter
196+ Improve the validation
197+ Create directories if necesssary
198+
199+ - IOUtils and EndianUtils are no longer final [28978]
200+ Allows developers to have subclasses if desired
29201</source >
30202</p >
31203</section >
0 commit comments