[java] Apache Commons Net의 샘플 코드
Apache Commons Net은 Java로 작성된 네트워크 프로토콜 클라이언트 라이브러리로, FTP, SMTP, POP3, IMAP 등 다양한 프로토콜을 지원합니다. 이 라이브러리를 사용하여 FTP 클라이언트를 구현하는 간단한 예제를 제공하겠습니다.
먼저, Apache Commons Net을 Maven을 통해 프로젝트에 추가합니다.
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.8.0</version>
</dependency>
다음은 Apache Commons Net을 사용하여 FTP 서버로 연결하고 파일을 다운로드하는 Java 코드의 예제입니다.
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import java.io.FileOutputStream;
import java.io.IOException;
public class FTPClientExample {
public static void main(String[] args) {
String server = "ftp.example.com";
int port = 21;
String user = "username";
String pass = "password";
String remoteFilePath = "/path/to/remote/file.txt";
String localFilePath = "localfile.txt";
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(server, port);
ftpClient.login(user, pass);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
FileOutputStream fos = new FileOutputStream(localFilePath);
boolean success = ftpClient.retrieveFile(remoteFilePath, fos);
fos.close();
if (success) {
System.out.println("파일을 성공적으로 다운로드하였습니다.");
} else {
System.out.println("파일을 다운로드하는 중에 문제가 발생하였습니다.");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (ftpClient.isConnected()) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
이 예제에서는 Apache Commons Net의 FTPClient
를 사용하여 FTP 서버로 연결하고, retrieveFile
메서드를 호출하여 원격 파일을 로컬로 다운로드하는 방법을 보여줍니다.
이렇게 하면 Apache Commons Net을 사용하여 간단한 FTP 클라이언트를 구현할 수 있습니다. 필요에 따라 FTP 서버로 파일을 업로드하거나 추가적인 작업을 수행할 수도 있습니다.
참고 자료:
- Apache Commons Net 공식 웹사이트: https://commons.apache.org/proper/commons-net/
- Apache Commons Net API 문서: https://commons.apache.org/proper/commons-net/apidocs/index.html