파일을 복사하거나 이동할 때 예외 처리는 매우 중요합니다. 일반적으로 파일 관련 작업은 예상치 못한 상황이 발생할 수 있기 때문에 이에 대응하기 위해 예외 처리 코드를 작성해야 합니다. 이번 예제에서는 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
클래스를 사용하면 파일을 복사하고 이동하는 작업을 간단하게 수행할 수 있습니다.