2010-01-11 4 views
0

Я хочу все функции file.renameTo в java, но без удаления исходного файла. Например: Скажем, у меня есть файл report.doc, и я хочу создать файл report.xml без удаления report.doc. Кроме того, содержимое обоих файлов должно быть одинаковым. (Простая копия) Как мне это сделать?Как создать копию файла в том же каталоге в java?

Я знаю, что это может быть тривиально, но некоторые основные поиски не помогли.

ответ

1

Вы можете создать новый файл с тем же содержанием оригинала.
Используйте Java NIO (Java 1.4 или более поздней версии) для этого:

private static void copy(File source, File destination) throws IOException { 
    long length = source.length(); 
    FileChannel input = new FileInputStream(source).getChannel(); 
    try { 
     FileChannel output = new FileOutputStream(destination).getChannel(); 
     try { 
      for (long position = 0; position < length;) { 
       position += input.transferTo(position, length-position, output); 
      } 
     } finally { 
      output.close(); 
     } 
    } finally { 
     input.close(); 
    } 
} 

увидеть ответы на этот question более

Смежные вопросы