[java] 파일 복사 및 이동 예외 처리하기

파일을 복사하거나 이동할 때 예외 처리는 매우 중요합니다. 일반적으로 파일 관련 작업은 예상치 못한 상황이 발생할 수 있기 때문에 이에 대응하기 위해 예외 처리 코드를 작성해야 합니다. 이번 예제에서는 Java 언어를 사용하여 파일 복사 및 이동 작업을 예외 처리하는 방법을 알아보겠습니다.

파일 복사하기

먼저 파일을 복사하는 예제를 살펴보겠습니다. Files 클래스의 copy() 메서드를 사용하여 파일을 복사할 수 있습니다. 아래의 코드를 참고하세요.

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;

public class FileCopyExample {
    public static void main(String[] args) {
        Path sourcePath = Path.of("source.txt");
        Path targetPath = Path.of("target.txt");

        try {
            Files.copy(sourcePath, targetPath, StandardCopyOption.REPLACE_EXISTING);
            System.out.println("파일이 성공적으로 복사되었습니다.");
        } catch (IOException e) {
            System.err.println("파일 복사 중 오류가 발생했습니다: " + e.getMessage());
        }
    }
}

Files.copy() 메서드는 세 개의 매개변수를 받습니다. 첫 번째 매개변수는 복사할 파일의 경로, 두 번째 매개변수는 대상 파일의 경로이며, 세 번째 매개변수는 복사할 때 기존 파일을 덮어쓸 지 여부를 지정합니다. 위 코드에서는 StandardCopyOption.REPLACE_EXISTING을 사용하여 기존 파일을 덮어쓰도록 설정했습니다.

Files.copy() 메서드는 IOException을 던질 수 있으므로, 이를 try-catch 블록으로 예외 처리해줍니다.

파일 이동하기

파일을 이동하는 예제는 파일 복사와 거의 동일합니다. Files 클래스의 move() 메서드를 사용하여 파일을 이동할 수 있습니다. 아래의 코드를 참고하세요.

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;

public class FileMoveExample {
    public static void main(String[] args) {
        Path sourcePath = Path.of("source.txt");
        Path targetPath = Path.of("target.txt");

        try {
            Files.move(sourcePath, targetPath, StandardCopyOption.REPLACE_EXISTING);
            System.out.println("파일이 성공적으로 이동되었습니다.");
        } catch (IOException e) {
            System.err.println("파일 이동 중 오류가 발생했습니다: " + e.getMessage());
        }
    }
}

Files.move() 메서드를 사용하여 파일을 이동합니다. 매개변수와 예외 처리는 파일 복사 예제와 동일합니다.

결론

파일 복사 및 이동 작업 시 예외 처리는 필수입니다. 예외 처리를 통해 예상치 못한 상황에 대처하고 오류 메시지를 제공할 수 있습니다. Java의 Files 클래스를 사용하면 파일을 복사하고 이동하는 작업을 간단하게 수행할 수 있습니다.