[java] 유닉스/리눅스 시스템 호출을 사용하여 파일을 복사하는 방법에 대해 알려주세요.

다음은 파일을 복사하는 유닉스/리눅스 시스템 호출 명령어입니다.

String sourceFile = "원본_파일_경로";
String targetFile = "대상_파일_경로";
String command = "cp " + sourceFile + " " + targetFile;
Runtime.getRuntime().exec(command);

위의 코드에서 “원본_파일_경로”는 복사해야 할 파일의 경로이고, “대상_파일_경로”는 복사된 파일을 저장할 위치의 경로입니다.

앞서 말씀드린대로, 이 접근 방법은 외부 명령어를 실행하는 것이므로 주의가 필요합니다. 또한, 복사 중인 파일의 크기에 따라 시스템 호출이 완료되기까지 시간이 걸릴 수 있습니다. 이 방법은 작은 파일의 복사에 적합합니다. 만약 큰 파일을 복사해야 한다면, Java의 내장 파일 복사 메서드를 고려해보세요.

또는 Java 7 이후부터는 Files 클래스를 사용하여 파일을 복사할 수도 있습니다.

Path source = Paths.get("원본_파일_경로");
Path target = Paths.get("대상_파일_경로");
Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING);

이것은 유닉스/리눅스 시스템 호출을 사용하는 것보다는 안전하고 더 빠른 방법일 수 있습니다.

참고: