[java] HttpClient를 사용하여 파일을 다운로드하는 방법은?

Java에서는 HttpClient를 사용하여 파일을 다운로드할 수 있습니다. HttpClient는 Apache HttpComponents에서 제공하는 라이브러리로, HTTP 프로토콜을 사용하여 통신하는 데 유용한 기능을 제공합니다.

아래는 HttpClient를 사용하여 파일을 다운로드하는 예제 코드입니다.

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

public class FileDownloader {

    public static void main(String[] args) {
        String fileUrl = "https://example.com/file.txt"; // 다운로드할 파일의 URL
        String savePath = "/path/to/save/file.txt"; // 저장할 파일의 경로 및 이름

        HttpClient httpClient = HttpClients.createDefault();
        HttpGet httpGet = new HttpGet(fileUrl);

        try {
            HttpResponse response = httpClient.execute(httpGet);
            InputStream inputStream = response.getEntity().getContent();

            FileOutputStream outputStream = new FileOutputStream(savePath);
            byte[] buffer = new byte[1024];
            int bytesRead;
            while ((bytesRead = inputStream.read(buffer)) != -1) {
                outputStream.write(buffer, 0, bytesRead);
            }

            outputStream.close();
            inputStream.close();

            System.out.println("파일 다운로드가 완료되었습니다.");

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서는 HttpClient를 사용하여 지정된 URL에서 파일을 다운로드하고, 다운로드된 파일을 지정된 경로에 저장합니다. 코드 실행 시 HttpClient를 생성하고 HttpGet 요청을 만들어서 실행하게 됩니다. 응답으로 받은 데이터를 InputStream으로부터 읽어서 FileOutputStream을 통해 파일에 쓰는 작업을 수행합니다.

위의 코드를 실행하면 파일이 성공적으로 다운로드되고, “파일 다운로드가 완료되었습니다.”라는 메시지가 출력됩니다.

HttpClient에 대한 더 자세한 사용법은 Apache HttpComponents의 공식 문서를 참조하시기 바랍니다.