xref: /aosp_15_r20/external/apache-commons-io/src/site/xdoc/upgradeto1_4.xml (revision 0c4d7b72e49a04598d65c566f44504b95342d75a)
1*0c4d7b72SSadaf Ebrahimi<?xml version="1.0"?>
2*0c4d7b72SSadaf Ebrahimi<!--
3*0c4d7b72SSadaf EbrahimiLicensed to the Apache Software Foundation (ASF) under one or more
4*0c4d7b72SSadaf Ebrahimicontributor license agreements.  See the NOTICE file distributed with
5*0c4d7b72SSadaf Ebrahimithis work for additional information regarding copyright ownership.
6*0c4d7b72SSadaf EbrahimiThe ASF licenses this file to You under the Apache License, Version 2.0
7*0c4d7b72SSadaf Ebrahimi(the "License"); you may not use this file except in compliance with
8*0c4d7b72SSadaf Ebrahimithe License.  You may obtain a copy of the License at
9*0c4d7b72SSadaf Ebrahimi
10*0c4d7b72SSadaf Ebrahimi     http://www.apache.org/licenses/LICENSE-2.0
11*0c4d7b72SSadaf Ebrahimi
12*0c4d7b72SSadaf EbrahimiUnless required by applicable law or agreed to in writing, software
13*0c4d7b72SSadaf Ebrahimidistributed under the License is distributed on an "AS IS" BASIS,
14*0c4d7b72SSadaf EbrahimiWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15*0c4d7b72SSadaf EbrahimiSee the License for the specific language governing permissions and
16*0c4d7b72SSadaf Ebrahimilimitations under the License.
17*0c4d7b72SSadaf Ebrahimi-->
18*0c4d7b72SSadaf Ebrahimi<document>
19*0c4d7b72SSadaf Ebrahimi <properties>
20*0c4d7b72SSadaf Ebrahimi  <title>Upgrade from 1.3.2 to 1.4</title>
21*0c4d7b72SSadaf Ebrahimi  <author email="[email protected]">Commons Documentation Team</author>
22*0c4d7b72SSadaf Ebrahimi </properties>
23*0c4d7b72SSadaf Ebrahimi<body>
24*0c4d7b72SSadaf Ebrahimi
25*0c4d7b72SSadaf Ebrahimi<section name="Upgrade">
26*0c4d7b72SSadaf Ebrahimi<p>
27*0c4d7b72SSadaf EbrahimiThese are the release notes and advice for upgrading Commons-IO from
28*0c4d7b72SSadaf Ebrahimiversion 1.3.2 to version 1.4.
29*0c4d7b72SSadaf Ebrahimi<source>
30*0c4d7b72SSadaf EbrahimiCommons IO is a package of Java utility classes for java.io's hierarchy.
31*0c4d7b72SSadaf EbrahimiClasses in this package are considered to be so standard and of such high
32*0c4d7b72SSadaf Ebrahimireuse as to justify existence in java.io.
33*0c4d7b72SSadaf Ebrahimi
34*0c4d7b72SSadaf EbrahimiCommons IO contains utility classes, stream implementations, file filters,
35*0c4d7b72SSadaf Ebrahimifile comparators and endian transformation classes.
36*0c4d7b72SSadaf Ebrahimi
37*0c4d7b72SSadaf Ebrahimi
38*0c4d7b72SSadaf EbrahimiCompatibility with 1.3.2
39*0c4d7b72SSadaf Ebrahimi------------------------
40*0c4d7b72SSadaf EbrahimiBinary compatible - Yes
41*0c4d7b72SSadaf Ebrahimi
42*0c4d7b72SSadaf EbrahimiSource compatible - Yes
43*0c4d7b72SSadaf Ebrahimi
44*0c4d7b72SSadaf EbrahimiSemantic compatible - Yes
45*0c4d7b72SSadaf Ebrahimi  Check the bug fixes section for semantic bug fixes
46*0c4d7b72SSadaf Ebrahimi
47*0c4d7b72SSadaf EbrahimiCommons IO 1.4 introduces four new implementations which depend on JDK 1.4 features
48*0c4d7b72SSadaf Ebrahimi(CharSequenceReader, FileWriterWithEncoding, IOExceptionWithCause and RegexFileFilter).
49*0c4d7b72SSadaf EbrahimiIt has been built with the JDK source and target options set to JDK 1.3 and, except for
50*0c4d7b72SSadaf Ebrahimithose implementations, can be used with JDK 1.3 (see IO-127).
51*0c4d7b72SSadaf Ebrahimi
52*0c4d7b72SSadaf Ebrahimi
53*0c4d7b72SSadaf EbrahimiDeprecations from 1.3.2
54*0c4d7b72SSadaf Ebrahimi-----------------------
55*0c4d7b72SSadaf Ebrahimi- FileCleaner deprecated in favour of FileCleaningTracker [see IO-116]
56*0c4d7b72SSadaf Ebrahimi
57*0c4d7b72SSadaf Ebrahimi
58*0c4d7b72SSadaf EbrahimiBug fixes from 1.3.2
59*0c4d7b72SSadaf Ebrahimi--------------------
60*0c4d7b72SSadaf Ebrahimi- FileUtils
61*0c4d7b72SSadaf Ebrahimi  - forceDelete of orphaned Softlinks does not work [IO-147]
62*0c4d7b72SSadaf Ebrahimi  - Infinite loop on FileUtils.copyDirectory when the destination directory is within
63*0c4d7b72SSadaf Ebrahimi    the source directory [IO-141]
64*0c4d7b72SSadaf Ebrahimi
65*0c4d7b72SSadaf Ebrahimi- HexDump
66*0c4d7b72SSadaf Ebrahimi  - HexDump's use of static StringBuffers isn't thread-safe [IO-136]
67*0c4d7b72SSadaf Ebrahimi
68*0c4d7b72SSadaf Ebrahimi
69*0c4d7b72SSadaf EbrahimiEnhancements from 1.3.2
70*0c4d7b72SSadaf Ebrahimi-----------------------
71*0c4d7b72SSadaf Ebrahimi- FileUtils
72*0c4d7b72SSadaf Ebrahimi  - Add a deleteQuietly method [IO-135]
73*0c4d7b72SSadaf Ebrahimi  - Add a copyDirectory() method that makes use of FileFilter [IO-105]
74*0c4d7b72SSadaf Ebrahimi  - Add moveDirectory() and moveFile() methods [IO-77]
75*0c4d7b72SSadaf Ebrahimi
76*0c4d7b72SSadaf Ebrahimi- FilenameUtils
77*0c4d7b72SSadaf Ebrahimi  - Add file name extension separator constants[IO-149]
78*0c4d7b72SSadaf Ebrahimi
79*0c4d7b72SSadaf Ebrahimi- IOExceptionWithCause [IO-148]
80*0c4d7b72SSadaf Ebrahimi  - Add a new IOException implementation with constructors which take a cause
81*0c4d7b72SSadaf Ebrahimi
82*0c4d7b72SSadaf Ebrahimi- TeeInputStream [IO-129]
83*0c4d7b72SSadaf Ebrahimi  - Add new Tee input stream implementation
84*0c4d7b72SSadaf Ebrahimi
85*0c4d7b72SSadaf Ebrahimi- FileWriterWithEncoding [IO-153]
86*0c4d7b72SSadaf Ebrahimi  - Add new File Writer implementation that accepts an encoding
87*0c4d7b72SSadaf Ebrahimi
88*0c4d7b72SSadaf Ebrahimi- CharSequenceReader [IO-138]
89*0c4d7b72SSadaf Ebrahimi  - Add new Reader implementation that handles any CharSequence (String,
90*0c4d7b72SSadaf Ebrahimi    StringBuffer, StringBuilder or CharBuffer)
91*0c4d7b72SSadaf Ebrahimi
92*0c4d7b72SSadaf Ebrahimi- ThresholdingOutputStream [IO-121]
93*0c4d7b72SSadaf Ebrahimi  - Add a reset() method which sets the count of the bytes written back to zero.
94*0c4d7b72SSadaf Ebrahimi
95*0c4d7b72SSadaf Ebrahimi- DeferredFileOutputStream [IO-130]
96*0c4d7b72SSadaf Ebrahimi  - Add support for temporary files
97*0c4d7b72SSadaf Ebrahimi
98*0c4d7b72SSadaf Ebrahimi- ByteArrayOutputStream
99*0c4d7b72SSadaf Ebrahimi  - Add a new write(InputStream) method [IO-152]
100*0c4d7b72SSadaf Ebrahimi
101*0c4d7b72SSadaf Ebrahimi- New Closed Input/Output stream implementations [IO-122]
102*0c4d7b72SSadaf Ebrahimi  - AutoCloseInputStream - automatically closes and discards the underlying input stream
103*0c4d7b72SSadaf Ebrahimi  - ClosedInputStream - returns -1 for any read attempts
104*0c4d7b72SSadaf Ebrahimi  - ClosedOutputStream - throws an IOException for any write attempts
105*0c4d7b72SSadaf Ebrahimi  - CloseShieldInputStream - prevents the underlying input stream from being closed.
106*0c4d7b72SSadaf Ebrahimi  - CloseShieldOutputStream - prevents the underlying output stream from being closed.
107*0c4d7b72SSadaf Ebrahimi
108*0c4d7b72SSadaf Ebrahimi- Add Singleton Constants to several stream classes [IO-143]
109*0c4d7b72SSadaf Ebrahimi
110*0c4d7b72SSadaf Ebrahimi- PrefixFileFilter [IO-126]
111*0c4d7b72SSadaf Ebrahimi  - Add facility to specify case sensitivity on prefix matching
112*0c4d7b72SSadaf Ebrahimi
113*0c4d7b72SSadaf Ebrahimi- SuffixFileFilter [IO-126]
114*0c4d7b72SSadaf Ebrahimi  - Add facility to specify case sensitivity on suffix matching
115*0c4d7b72SSadaf Ebrahimi
116*0c4d7b72SSadaf Ebrahimi- RegexFileFilter [IO-74]
117*0c4d7b72SSadaf Ebrahimi  - Add new regular expression file filter implementation
118*0c4d7b72SSadaf Ebrahimi
119*0c4d7b72SSadaf Ebrahimi- Make IOFileFilter implementations Serializable [IO-131]
120*0c4d7b72SSadaf Ebrahimi
121*0c4d7b72SSadaf Ebrahimi- Improve IOFileFilter toString() methods [IO-120]
122*0c4d7b72SSadaf Ebrahimi
123*0c4d7b72SSadaf Ebrahimi- Make fields final so classes are immutable/threadsafe [IO-133]
124*0c4d7b72SSadaf Ebrahimi  - changes to Age, Delegate, Name, Not, Prefix, Regex, Size, Suffix and Wildcard IOFileFilter
125*0c4d7b72SSadaf Ebrahimi    implementations.
126*0c4d7b72SSadaf Ebrahimi
127*0c4d7b72SSadaf Ebrahimi- IOCase
128*0c4d7b72SSadaf Ebrahimi  - Add a compare method to IOCase [IO-144]
129*0c4d7b72SSadaf Ebrahimi
130*0c4d7b72SSadaf Ebrahimi- Add a package of java.util.Comparator implementations for files [IO-145]
131*0c4d7b72SSadaf Ebrahimi  - DefaultFileComparator - compare files using the default File.compareTo(File) method.
132*0c4d7b72SSadaf Ebrahimi  - ExtensionFileComparator - compares files using file name extensions.
133*0c4d7b72SSadaf Ebrahimi  - LastModifiedFileComparator - compares files using the last modified date/time.
134*0c4d7b72SSadaf Ebrahimi  - NameFileComparator - compares files using file names.
135*0c4d7b72SSadaf Ebrahimi  - PathFileComparator - compares files using file paths.
136*0c4d7b72SSadaf Ebrahimi  - SizeFileComparator - compares files using file sizes.
137*0c4d7b72SSadaf Ebrahimi</source>
138*0c4d7b72SSadaf Ebrahimi</p>
139*0c4d7b72SSadaf Ebrahimi</section>
140*0c4d7b72SSadaf Ebrahimi
141*0c4d7b72SSadaf Ebrahimi</body>
142*0c4d7b72SSadaf Ebrahimi</document>
143