[java] Apache Commons Net의 튜토리얼

Apache Commons Net은 자바용 네트워크 라이브러리로, FTP, SMTP, POP3, Telnet 등 다양한 프로토콜을 지원합니다. 이 라이브러리를 사용하면 손쉽게 네트워크 애플리케이션을 개발할 수 있습니다.

Apache Commons Net 라이브러리 추가

먼저, Maven을 사용하는 경우 pom.xml 파일에 다음과 같이 의존성을 추가합니다:

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

Gradle을 사용하는 경우 build.gradle 파일에 다음과 같이 추가합니다:

dependencies {
    implementation 'commons-net:commons-net:3.8.0'
}

의존성을 추가하면 Apache Commons Net 라이브러리를 사용할 수 있습니다.

FTP 클라이언트 작성하기

이제 간단한 FTP 클라이언트를 작성해보겠습니다. 아래는 파일을 업로드하는 예제 코드입니다.

import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

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

        FTPClient ftpClient = new FTPClient();
        try {
            ftpClient.connect(server, port);
            ftpClient.login(user, pass);
            ftpClient.enterLocalPassiveMode();

            File file = new File("example.txt");
            String remoteFile = "example.txt";
            FileInputStream inputStream = new FileInputStream(file);

            ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
            ftpClient.storeFile(remoteFile, inputStream);
            ftpClient.logout();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (ftpClient.isConnected()) {
                    ftpClient.disconnect();
                }
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }
}

위 예제는 FTP 서버에 파일을 업로드하는 간단한 클라이언트를 보여줍니다.

마치며

Apache Commons Net을 사용하면 네트워크 통신에 관련된 복잡한 작업을 쉽게 처리할 수 있습니다. 원하는 프로토콜에 대한 빠른 개발을 위해 이 라이브러리를 활용해보세요.

참고 자료