자바 이미지 파일 다운로드

다음 코드는 디스크에 대한 직접 링크에서 프로젝트 디렉터리로 이미지를 다운로드합니다. 또한 리소스사용 시도(try with-with-resources)를 사용합니다. 가장 일반적인 구현은 읽기/쓰기 작업을 수행할 때 바이트를 버퍼링하는 구현입니다. 이 구현은 전체 파일을 메모리에 로드하지 않으므로 대용량 파일에서도 안전하게 사용할 수 있습니다. 코드 라인 27-32: 목록 개체인 다중 parts 개체에 있는 파일 항목 수를 확인하여 파일 수를 반복하고 제공된 파일 이름으로 c:/guru/upload 폴더에 저장합니다. 우리는 언급 된 폴더에 fileobject의 쓰기 방법을 사용하여 파일을 작성하고 있습니다. 자세한 내용은 javax.imageio 패키지를 참조하십시오. AWT 이미지를 사용하고 있습니다. 그렇지 않으면 당신은 할 수 : 우리는 우리가 “여기에 다운로드”로 하이퍼 링크를 얻을 것이다 downloading_1.jsp를 클릭해야합니다. 이 하이퍼 링크 파일을 클릭 하면, 그것은 시스템에 다운로드 됩니다.

이제 다음 섹션에서는 핵심 Java 기능 구성 요소 대신 타사 라이브러리를 사용하여 URL에서 파일을 다운로드하는 방법을 살펴볼 것입니다. Java의 java.net.URL 클래스는 인터넷에서 데이터에 액세스하고 조작하는 여러 방법을 제공하는 기본 제공 라이브러리입니다. 이 경우 URL 클래스의 openStream() 함수를 사용합니다. openStream() 함수에 대한 메서드 서명은 다음과 같은 입니다: 공용 정적 보이드 saveImage(문자열 imageUrl)는 IOException { URL URL = 새 URL(imageUrl)을 throw합니다. 문자열 파일 이름 = url.getFile(); 문자열 destName = “./그림” + fileName.substring(fileName.lastIndexOf(“/”))); System.out.println(가장 이름); 입력 스트림은 = url.openStream(); 출력 스트림 os = 새 파일 출력 스트림 (destName); 바이트[] b = 새 바이트[2048]; int 길이; 동안 ((길이 = is.read(b)) != -1) { os.write (b, 0, 길이); } is.close(); os.close(); } transferTo() 및 transferFrom() 메서드는 버퍼를 사용하여 스트림에서 읽는 것보다 더 효율적입니다. 기본 운영 체제에 따라 응용 프로그램 메모리에 바이트를 복사하지 않고 파일 시스템 캐시에서 파일로 직접 데이터를 전송할 수 있습니다. 아카이브 파일은 하나의 큰 번들로 다운로드하거나 각각 1.4MB의 별도 조각으로 다운로드할 수 있습니다. 작은 조각을 다운로드하는 경우 설치 하기 전에 조각을 함께 연결 하려면 아래 설치 지침에 따라 해야 합니다. 이미지를 다운로드하고 원본 파일 이름을 사용하여 이미지를 저장합니다.

핵심은 InputStream을 사용하여 이미지를 읽고 OutputStream을 사용하여 파일에 쓰는 것입니다. 파일 또는 URL에서 읽는 것 외에도 이미지 I/O는 InputStream과 같은 다른 소스에서 읽을 수 있습니다. ImageIO.read()는 대부분의 응용 프로그램에 가장 간단한 편의 API이지만 javax.imageio.ImageIO 클래스는 이미지 I/O API의 고급 사용을 위해 더 많은 정적 메서드를 제공합니다. 이 클래스의 메서드 컬렉션은 이미지에 대한 정보를 검색하고 이미지 디코딩(읽기) 프로세스를 제어하기 위한 풍부한 API 집합의 하위 집합일 뿐입니다.