「Java入門」nioを使用してすぐにjavaファイルをコピーする

javaコード:
public static void fileCopy( File in, File out )

throws IOException
{
FileChannel inChannel = new
FileInputStream( in ).getChannel();
FileChannel outChannel = new
FileOutputStream( out ).getChannel();
try
{
int maxCount = (64 * 1024 * 1024) – (32 * 1024);
long size = inChannel.size();
long position = 0;
while (
position < size )
{
position += inChannel.transferTo( position, maxCount, outChannel );
}
}

finally
{

if (

inChannel != null )

{
inChannel.close();

}
if ( outChannel != null )
{
outChannel.close();
}
}

}

public static void fileCopy( File in, File out )throws IOException
{
FileChannel inChannel = new FileInputStream( in ).getChannel();
FileChannel outChannel = new

FileOutputStream( out ).getChannel();
try
{
// inChannel.transferTo(0, inChannel.size(), outChannel);
// original — apparently has trouble copying large files on Windows

// magic number for Windows, 64Mb – 32Kb)
int maxCount = (64 * 1024 * 1024) – (32 * 1024);
long  size = inChannel.size();
long  position = 0;
while ( position < size )
{
position += inChannel.transferTo( position, maxCount, outChannel

);
}

}
finally
{
if (
inChannel != null )
{
inChannel.close
();
}
if (
outChannel != null )
{
outChannel.close();
}
}
}

Java

Posted by arkgame