우리가 알아야 할 첫 번째 것은 HTTP HEAD 메서드를 사용 하 여 실제로 다운로드 하지 않고 주어진 URL에서 파일의 크기를 읽을 수 있다는 것입니다. Java 코드를 사용 하 여 파일을 다운로드 하는 방법은 여러 가지가 있습니다. 다음은 작업을 수행 하는 방법에 대 한 몇 가지 방법입니다. 오늘 우리는 자바에서 URL에서 파일을 다운로드 하는 방법을 배우게 됩니다. 우리는 자바 프로그램에서 URL에서 파일을 다운로드 하는 자바 인터넷 URL openStream () 메서드를 사용할 수 있습니다. 우리는 자바 NIO 채널 또는 자바 IO InputStream을 사용 하 여 URL 오픈 스트림에서 데이터를 읽은 다음 파일에 저장할 수 있습니다. 프록시 뒤에 있지 않은 경우 코드에 위의 줄을 포함 하지 마세요. 프록시 뒤에 있을 때 파일을 다운로드 하는 전체 작업 코드입니다. Java의 java. URL 클래스는 인터넷에서 데이터에 액세스 하 고 조작 하는 여러 가지 방법을 제공 하는 내장 라이브러리입니다.

이 경우에는 URL 클래스의 openStream () 함수를 사용 합니다. OpenStream () 함수에 대 한 메서드 서명은 다음과 같습니다. 다행히 Java는 버퍼링 없이 2 개 채널 간에 직접 바이트를 전송 하는 방법을 제공 하는 NIO 패키지입니다. 아파치 조직에서 관리 하는 또 다른 라이브러리는 HttpComponents 요소 패키지입니다. 이 라이브러리는 요청-응답 메커니즘을 사용 하 여 지정 된 URL에서 파일을 다운로드 합니다. 당신이 볼 수 있듯이 우리는 URL 개체를 사용 하 여 연결을 열고 다음을 통해 그것을 읽고는 BufferedInputStreamReader 개체입니다. 내용을 바이트로 읽고 FileOutputStream을 사용 하 여 로컬 디렉터리의 파일에 복사 합니다. Java IO의 경우, 우리는 url을 사용 하 고 BufferedInputStream 개체는 파일의 데이터를 작성 하는 URL 및 FileOutputStream 객체에서 데이터를 읽을 수 있습니다. 인터넷을 통해 파일을 다운로드 하는 데 사용할 수 있는 아파치 커먼즈 IO 패키지의 또 다른 클래스는 IOUtils 클래스입니다. 우리는 로컬 시스템에 파일을 다운로드 하는 복사 (inputStream, fileOS) 메소드를 사용 합니다. Java core 기능을 사용 하 여 URL에서 콘텐츠를 다운로드 하는 방법 위의 예제에서 살펴보았습니다. 또한 성능 조정이 필요 하지 않은 경우 기존 라이브러리의 기능을 활용 하 여 작업을 쉽게 수행할 수 있습니다.

아파치 커먼즈 IO를 사용 하 여 주어진 URL에서 파일을 다운로드 하려면 우리는 필요 합니다 FileUtils 패키지의 클래스. 파일을 다운로드 하는 데 필요한 코드는 단 한 줄만 있습니다. 파일을 다운로드 하는 데 사용할 수 있는 가장 기본적인 API는 Java IO입니다. URL 클래스를 사용 하 여 다운로드 하려는 파일에 대 한 연결을 열 수 있습니다. 이 파일을 효과적으로 읽으려면 openStream () 메서드를 사용 하 여 InputStream을 얻습니다. 다운로드: URL에서이 파일 내려받기 메서드에서 URL 스트림 데이터에서 바이트 채널을 만듭니다. 그런 다음 파일 출력 스트림을 사용 하 여 파일에 씁니다. 그래서 당신은 그것을가지고-이 기본 자바 코드 및 기타 타사 라이브러리를 사용 하 여 파일을 다운로드 하는 가장 간단한 방법입니다. 이제 기본 사항으로 완료 되었으므로 원하는 대로 창의적으로 작업 하 고 필요에 따라 지식을 활용할 수 있습니다. 그래서 당신이 더 나은 코더가 될 수 있도록 개념의 새로운 세트와 함께 다음 시간을 참조 하십시오. 우리는 그때까지 당신에 게 행복 한 코딩을 기원 합니다. 우리는이 문서에서 우리는 자바의 URL에서 파일을 다운로드 할 수 있는 몇 가지 방법을 보았다.

다음으로 HTTP GET 요청을 만들고 Asynccomplete 처리기 처리기를 등록 하 여 다운로드 한 콘텐츠를 처리 합니다. 또한 모든 FileNotFoundException 리소스를 찾을 수 없는 경우 (오류 404, 일반적으로) 및 java. DNS 확인에 실패 했습니다. 기타 IOException은 전송 중에 오류에 해당 합니다.