Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.3.5
    • Fix Version/s: 2.0-RC1
    • Component/s: Commons
    • Labels:
      None

      Description

      Copying files > 2GB with IOUtils fails with the current 1.4 jar. Please upgrade to commons-io-2.0.1.

      Latest JAR is here: http://commons.apache.org/io/download_io.cgi

      Release Notes:

      Bug fixes from 1.4 to 2.0
      ------------------

      • [IO-214] ByteArrayOutputStream - fix inconsistent synchronization of fields
      • [IO-201] Counting Input/Output streams - fix inconsistent synchronization
      • [IO-159] FileCleaningTracker - fix remove() never returns null
      • [IO-220] FileCleaningTracker - fix Vector performs badly under load
      • [IO-167] FilenameUtils - fix case-insensitive string handling in FilenameUtils and FilesystemUtils
      • [IO-179] FilenameUtils - fix StringIndexOutOfBounds exception in getPathNoEndSeparator()
      • [IO-248] FilenameUtils - fix getFullPathNoEndSeparator() returns empty while path is a one level directory
      • [IO-246] FilenameUtils - fix wildcardMatch gives incorrect results
      • [IO-187] FileSystemUtils - fix freeSpaceKb() doesn't work with relative paths on Linux
      • [IO-160] FileSystemUtils - fix freeSpace() fails on solaris
      • [IO-209] FileSystemUtils - fix freeSpaceKb() fails to return correct size for a windows mount point
      • [IO-163] FileUtils - fix toURLs() using deprecated method of conversion to URL
      • [IO-168] FileUtils - fix Symbolic links followed when deleting directory
      • [IO-231] FileUtils - fix wrong exception message generated in isFileNewer() method
      • [IO-207] FileUtils - fix race condition in forceMkdir() method
      • [IO-217] FileUtils - fix copyDirectoryToDirectory() makes infinite loops
      • [IO-166] FileUtils - fix URL decoding in toFile(URL)
      • [IO-190] FileUtils - fix copyDirectory not preserving lastmodified date on sub-directories
      • [IO-240] FileFilterUtils - ensure cvsFilter and svnFilter are only created once.
      • [IO-175] IOUtils - fix copyFile() issues with very large files
      • [IO-191] Improvements from static analysis
      • [IO-216] LockableFileWriter - delete files quietly when an exception is thrown during initialization
      • [IO-243] SwappedDataInputStream - fix readBoolean is inverted
      • [IO-235] Tests - remove unused YellOnFlushAndCloseOutputStream from CopyUtilsTest
      • [IO-161] Tests - fix FileCleaningTrackerTestCase hangingCo

        Issue Links

          Activity

          Hide
          Joshua Hyde added a comment - - edited

          I consume a library that uses commons-io 2.0.1, which uses the IOUtils.closeQuietly(Closeable) method. Since this method doesn't exist in commons-io 1.4, my application can't use this consumable library.

          Show
          Joshua Hyde added a comment - - edited I consume a library that uses commons-io 2.0.1, which uses the IOUtils.closeQuietly(Closeable) method. Since this method doesn't exist in commons-io 1.4, my application can't use this consumable library.
          Hide
          Raviteja added a comment -

          The latest seems to be 2.1:

          It's release notes:

          Bug

          [IO-260] - ClassLoaderObjectInputStream does not handle Proxy classes
          [IO-263] - FileSystemUtils.freeSpaceKb throws exception for Windows volumes with no visible files.
          [IO-264] - FileUtils.moveFile() JavaDoc should specify FileExistsException thrown
          [IO-266] - FileUtils.copyFile() throws IOException when copying large files to a shared directory (on Windows)
          [IO-274] - Tailer returning partial lines when reaching EOF before EOL
          [IO-277] - ReaderInputStream enters infinite loop when it encounters an unmappable character
          [IO-280] - Dubious use of mkdirs() return code

          Improvement

          [IO-251] - Add new read method "toByteArray" to handle InputStream with known size
          [IO-259] - FileAlterationMonitor.stop(boolean allowIntervalToFinish)
          [IO-261] - Add FileUtils.getFile API with varargs parameter
          [IO-262] - FileAlterationObserver has no getter for FileFilter
          [IO-285] - Use standard Maven directory layout.

          New Feature

          [IO-182] - Add new APPEND parameter for writing string into files
          [IO-282] - Add API FileUtils.copyFile(File input, OutputStream output)
          [IO-284] - Add IOUtils API toString for URL and URI to get contents

          Show
          Raviteja added a comment - The latest seems to be 2.1: It's release notes : Bug [IO-260] - ClassLoaderObjectInputStream does not handle Proxy classes [IO-263] - FileSystemUtils.freeSpaceKb throws exception for Windows volumes with no visible files. [IO-264] - FileUtils.moveFile() JavaDoc should specify FileExistsException thrown [IO-266] - FileUtils.copyFile() throws IOException when copying large files to a shared directory (on Windows) [IO-274] - Tailer returning partial lines when reaching EOF before EOL [IO-277] - ReaderInputStream enters infinite loop when it encounters an unmappable character [IO-280] - Dubious use of mkdirs() return code Improvement [IO-251] - Add new read method "toByteArray" to handle InputStream with known size [IO-259] - FileAlterationMonitor.stop(boolean allowIntervalToFinish) [IO-261] - Add FileUtils.getFile API with varargs parameter [IO-262] - FileAlterationObserver has no getter for FileFilter [IO-285] - Use standard Maven directory layout. New Feature [IO-182] - Add new APPEND parameter for writing string into files [IO-282] - Add API FileUtils.copyFile(File input, OutputStream output) [IO-284] - Add IOUtils API toString for URL and URI to get contents
          Show
          Lari Hotari added a comment - Upgraded to commons-io 2.1 : https://github.com/grails/grails-core/commit/7622fd424eb2c04f9e022c8d47c229101c5af046
          Hide
          Lari Hotari added a comment -

          For Grails 1.3.x, you should be able to force Grails to use commons-io 2.1 .

          Add these lines to BuildConfig.groovy's dependencies closure:

          build 'commons-io:commons-io:2.1'
          runtime 'commons-io:commons-io:2.1'
          
          Show
          Lari Hotari added a comment - For Grails 1.3.x, you should be able to force Grails to use commons-io 2.1 . Add these lines to BuildConfig.groovy's dependencies closure: build 'commons-io:commons-io:2.1' runtime 'commons-io:commons-io:2.1'

            People

            • Assignee:
              Lari Hotari
              Reporter:
              Robert La Ferla
            • Votes:
              3 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Last Reviewed:

                Development