Допустим, имя исходного файла Foo.txt
. Я хочу, чтобы имя файла назначения было Foo(Copy).txt
. И я хочу, чтобы исходный файл был сохранен. Как мне добиться этого?
/*
* Returns a copy of the specified source file
*
* @param sourceFile the specified source file
* @throws IOException if unable to copy the specified source file
*/
public static final File copyFile(final File sourceFile) throws IOException
{
// Construct the destination file
final File destinationFile = .. // TODO: Create copy file
if(!destinationFile.exists())
{
destinationFile.createNewFile();
}
// Copy the content of the source file into the destination file
FileChannel source = null;
FileChannel destination = null;
try
{
source = new FileInputStream(sourceFile).getChannel();
destination = new FileOutputStream(destinationFile).getChannel();
destination.transferFrom(source, 0, source.size());
}
finally
{
if(source != null)
{
source.close();
}
if(destination != null)
{
destination.close();
}
}
return destinationFile;
}