자바에서 URL에 올려진 파일을 다운로드할 때 사용하는 소스코드
[다운로드할 URL]
[전체 코드]
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
public class test {
public static void main(String[] args) {
String address = "https://~~~~~~~~ "; // 다운 받을 파일 주소 입력
try {
URL url = new URL(address);
ReadableByteChannel rbc = Channels.newChannel(url.openStream());
FileOutputStream fos = new FileOutputStream("C:\\Users\\Public\\Downloads\\Copy.jpg"); //다운받을 경로 설정
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); // 처음부터 끝까지 다운로드
fos.close();
System.out.println("파일 다운완료");
} catch (Exception e) {
e.printStackTrace();
}
}
}
[결과]
위의 방법이 동작이 안되거나 Exception에러가 나면 다른 코드를 사용하여 다운받을 수 있다
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
public class test {
public static void main(String[] args) {
String address = "https://~~~~~~~~~~~~ "; // 주소 입력
try {
InputStream is = null;
URL url = new URL(address);
FileOutputStream fos = new FileOutputStream("C:\\Users\\Public\\Downloads\\Copy2.jpg");
URLConnection urlConnection = url.openConnection();
is = urlConnection.getInputStream();
byte[] buffer = new byte[1024];
int readBytes;
while ((readBytes = is.read(buffer)) != -1) {
fos.write(buffer, 0, readBytes);
}
fos.close();
System.out.println("파일 다운완료");
} catch (Exception e) {
e.printStackTrace();
}
}
}
[결과]
반응형
'JAVA' 카테고리의 다른 글
[Java] 특정 날짜가 유효기간 내에 있는지 확인 하는 방법 (0) | 2021.11.19 |
---|---|
[Java] 값 비교하기 compareTo 사용하기 (0) | 2021.11.17 |
[Java] 바이트 배열 데이터 파일 저장하기 (0) | 2021.11.03 |
[Android/JAVA] 인터넷 연결 상태 확인하는 방법(코드) (0) | 2021.08.31 |
[JAVA] 문자타입을 정수형으로 변환하기(String to int) (2) | 2021.08.27 |
댓글