commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary D. Gregory (Closed) (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (IO-266) FileUtils.copyFile() throws IOException when copying large files to a shared directory (on Windows)
Date Mon, 10 Oct 2011 15:51:30 GMT

     [ https://issues.apache.org/jira/browse/IO-266?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Gary D. Gregory closed IO-266.
------------------------------


Closing, we released version 2.1.
                
> FileUtils.copyFile() throws IOException when copying large files to a shared directory
(on Windows)
> ---------------------------------------------------------------------------------------------------
>
>                 Key: IO-266
>                 URL: https://issues.apache.org/jira/browse/IO-266
>             Project: Commons IO
>          Issue Type: Bug
>    Affects Versions: 2.0.1
>         Environment: Windows 2003 Server 64-bit
>            Reporter: Igor Smereka
>             Fix For: 2.1
>
>         Attachments: FileUtils.java.patch
>
>
> java.io.IOException: Insufficient system resources exist to complete the requested service
> 	at sun.nio.ch.FileDispatcher.pwrite0(Native Method)
> 	at sun.nio.ch.FileDispatcher.pwrite(Unknown Source)
> 	at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source)
> 	at sun.nio.ch.IOUtil.write(Unknown Source)
> 	at sun.nio.ch.FileChannelImpl.write(Unknown Source)
> 	at sun.nio.ch.FileChannelImpl.transferFromFileChannel(Unknown Source)
> 	at sun.nio.ch.FileChannelImpl.transferFrom(Unknown Source)
> 	at org.apache.commons.io.FileUtils.doCopyFile(FileUtils.java:813)
> 	at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:783)
> 	at org.test.igor.TestFileUtils.main(TestFileUtils.java:55)
> NOTE: the issue is cased by the function doCopyFile(File srcFile, File destFile, boolean
preserveFileDate) using hardcoded data chunks of FIFTY_MB in the transferFrom() call.
> Reducing this chunk from 50M to 31M solves the issue for my situation (32M still fails).
> Here is a test program to reproduce the issue:
> package org.test.igor;
> import java.io.File;
> import java.io.FileInputStream;
> import java.io.FileOutputStream;
> import java.io.IOException;
> import java.nio.channels.FileChannel;
> import org.apache.commons.io.FileUtils;
> import org.apache.commons.io.IOUtils;
> public class TestFileUtils {
>     public static void main(String[] args){
>         
>         
>         File src = new File("D:\\2011.1-dev\\test\\test");
>         File dest = new File("\\\\ismerek1\\Shared");
>         
>         String filename = "jdk-6u19-windows-x64.exe";
>         
>         File file = new File(src, filename);
>         File toFile = new File(dest, filename);
>         
>         try {
>             FileUtils.copyFile(file, toFile, true);
>             System.out.println("Successful copy");
>         }
>         catch (IOException e1) {
>             e1.printStackTrace();
>         }
>     }
> }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message