Как создать копию файла в том же каталоге в Java? - PullRequest
0 голосов
/ 11 января 2010

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

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

Ответы [ 2 ]

3 голосов
/ 11 января 2010

Для операций с файловой системой Apache Commons IO предоставляет полезные ярлыки.

См:

1 голос
/ 11 января 2010

Вы можете создать новый файл с тем же содержимым оригинала.
Для этого используйте 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();
    }
}

см. Ответы на этот вопрос , чтобы узнать больше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...