Рубрики
Без рубрики

Как копировать файлы в Java? Пример

Несколько способов копирования файлов из одного каталога в другой в Java с примерами.. С пометкой java, программирование, кодирование, новички.

Привет, ребята, я уже давно программирую на Java, и вы не поверите, но до Java 7 в Java API не было метода копирования файлов |/. В то время у нас были варианты: либо написать его самостоятельно, используя FileInputStream, FileOutputStream и буфер для копирования байтов из одного в другой, либо, что еще лучше, использовать * FileChannel.transferTo() * метод или просто используйте FileUtils Apache Commons, который был спасением жизни в те дни и даже сегодня.

JDK теперь эволюционировал, и у вас есть приличный API для копирования файлов из одного каталога в другой. В этой статье я покажу вам как предварительный Java-код для копирования файлов из одного каталога в другой, так и код post Java 7, который значительно упрощает эту задачу.

1. Копирование файла из каталога в другой до Java 7

Зависимость: Apache Commons IO

1. FileUtils.CopyFile(Источник файла, место назначения файла)

Этот метод копирует файл в новое местоположение, сохраняя временные метки файла

Этот метод копирует содержимое указанного исходного файла в указанный конечный файл. Каталог, содержащий целевой файл, создается, если он не существует т. Если целевой файл существует, то этот метод перезапишет его.

import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
/*** Java program to copy a file from one directory to another e.g. from src to dest
 ** @author Javin*/
public class FileCopyDemo {
    public static void main(String args[]) { 
        // Using Apache Commons FileUtils class
        File srcFile = new File("bin/HelloWorld.class");
        File destFile = new File("target/HelloWorld.class");
        try {
            FileUtils.copyFile(srcFile, destFile);
            System.out.println("File successfully copied in Java");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Output: System.out.println("File successfully copied in Java");

1.2 Копирует файл в каталог с сохранением метки времени

Этот метод копирует содержимое указанного исходного файла в файл с тем же именем в указанном целевом каталоге. Целевой каталог создается, если он не существует/| т. Если целевой файл существует, то этот метод перезапишет его.

import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
/*** Java program to copy a file from one directory to another like from src to dest
 ** @author Javin Paul*/
public class Testing {
    public static void main(String args[]) { 
        // Using Apache Commons FileUtils class
        File srcFile = new File("bin/HelloWorld.class");
        File destDir = new File("target");
        try {
            FileUtils.copyFileToDirectory(srcFile, destDir);
            System.out.println("File successfully copied to destination directory in Java");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Output: File successfully copied to destination directory in Java

2. Копирование файлов из одного каталога в другой с помощью Java 7 NIO 2 API

В Java 7 существует стандартный метод копирования файлов на java:

Файлы.копировать.

Он интегрируется с собственным вводом-выводом O/S для обеспечения высокой производительности.

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import static java.nio.file.StandardCopyOption.*;
import static java.nio.file.LinkOption.*; /*** Java program to copy file using Java 7 Files.copy() method** @author Javin Paul*/
public class FileCopyDemo {
    public static void main(String args[]) {
        try {
            Path bytes = Files.copy(new Java.io.File("bin/HelloWorld.class").toPath(), new java.io.File("target/HelloWorld.class").toPath(), REPLACE_EXISTING, COPY_ATTRIBUTES, NOFOLLOW_LINKS);
            System.out.println("File successfully copied using Java 7 way");
        } catch (IOException e) {
            // TODO Auto-generated catch blocke.printStackTrace();
        }
    }
}

Вы также можете копировать файлы на Java, написав код с помощью FileInputStream и FileOuputStream

В качестве альтернативы также удобен класс Apache commons IO FileUtils. Для высокоскоростного копирования и передачи файлов вы также можете воспользоваться java.nio и классом FileChannel , но имейте в виду, что в Windows есть ошибка, которая не позволяет передавать более 64 ГБ данных канала. Ошибка Windows, связанная с передачей Из-за невозможности копировать потоки размером более 64 МБ в одном месте?

Другое Статьи по программированию на Java ты Может понравиться: Другое Статьи о Java и программировании возможно, вам понравится читать.

Спасибо, что прочитали эту статью до сих пор. Если вам нравится этот учебник по Java, пожалуйста, поделитесь им со своими друзьями и коллегами. Если у вас есть какие-либо вопросы или отзывы, пожалуйста, оставьте сообщение.

P. S. – Если вы новичок в мире Java и ищете бесплатные курсы для изучения Java с нуля, вы также можете взглянуть на мои любимые бесплатные курсы Java на Medium. Здесь есть одни из лучших бесплатных обучающих курсов Java для изучения Java онлайн.

Оригинал: “https://dev.to/javinpaul/how-to-copy-files-in-java-example-3clf”