[java] Apache Commons Net과 FTPS

Apache Commons Net는 Java에서 네트워크 프로토콜을 사용하는 데 유용한 라이브러리이다. 이 라이브러리를 사용하면 FTP 또는 FTPS와 같은 프로토콜을 사용하여 파일 전송과 관련된 작업을 쉽게 처리할 수 있다.

여기서는 Apache Commons Net을 사용하여 FTPS 연결을 설정하는 방법을 살펴볼 것이다. FTPS는 FTP를 통해 보안 소켓 레이어(Secure Socket Layer, SSL) 또는 전송 계층 보안(Transport Layer Security, TLS)를 통해 보호된 파일 전송을 지원한다.

1. Maven을 사용하여 의존성 추가

먼저 Maven 프로젝트의 pom.xml 파일에 Apache Commons Net 의존성을 추가한다.

<dependencies>
    <dependency>
        <groupId>commons-net</groupId>
        <artifactId>commons-net</artifactId>
        <version>3.8.0</version>
    </dependency>
</dependencies>

의존성을 추가한 후 Maven 프로젝트를 다시 빌드하여 Apache Commons Net 라이브러리를 가져온다.

2. FTPS 연결 설정

다음으로, Apache Commons Net을 사용하여 FTPS 연결을 설정하는 코드를 작성해보자. 아래는 간단한 예제 코드이다.

import org.apache.commons.net.ftp.FTPSClient;

public class FTPSExample {
    public static void main(String[] args) {
        String server = "ftp.example.com";
        int port = 990;
        String username = "username";
        String password = "password";

        FTPSClient ftpsClient = new FTPSClient("TLS", false);
        try {
            ftpsClient.connect(server, port);
            ftpsClient.login(username, password);

            // 연결된 후에 필요한 작업을 수행한다.

            ftpsClient.logout();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                ftpsClient.disconnect();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

위의 예제 코드에서는 FTPSClient를 사용하여 FTPS 서버에 연결한다. 서버 주소, 포트, 사용자 이름, 비밀번호를 설정한 후 connect 메서드와 login 메서드를 사용하여 연결을 수행한다. 그 후에 필요한 파일 전송이나 작업을 수행한 후 logoutdisconnect를 호출하여 연결을 종료한다.

결론

Apache Commons Net을 사용하여 FTPS 연결을 설정하는 것은 간단하지만, 안전하고 효율적인 파일 전송을 가능하게 해준다. 위의 예제 코드를 기반으로 필요한 작업을 수행하고 FTPS를 통해 파일을 안전하게 전송해보자.

참고: Apache Commons Net 공식 문서