글보기
[JAVA] 웹소스(HTTP sources)를 로컬 파일로 다운로드하는 소스

import java.io.*;
import java.net.*;

/*
 * Command line program to download data from URLs and save
 * it to local files. Run like this:
 * java FileDownload http://schmidt.devlib.org/java/file-download.html
 * @author Marco Schmidt
 */
public class FileDownload {
    public static void download(String address, String localFileName) {
        OutputStream out = null;
        URLConnection conn = null;
        InputStream  in = null;
        try {
            URL url = new URL(address);
            out = new BufferedOutputStream(
                new FileOutputStream(localFileName));
            conn = url.openConnection();
            in = conn.getInputStream();
            byte[] buffer = new byte[1024];
            int numRead;
            long numWritten = 0;
            while ((numRead = in.read(buffer)) != -1) {
                out.write(buffer, 0, numRead);
                numWritten += numRead;
            }
            System.out.println(localFileName + "\t" + numWritten);
        } catch (Exception exception) {
            exception.printStackTrace();
        } finally {
            try {
                if (in != null) {
                    in.close();
                }
                if (out != null) {
                    out.close();
                }
            } catch (IOException ioe) {
            }
        }
    }

    public static void download(String address) {
        int lastSlashIndex = address.lastIndexOf('/');
        if (lastSlashIndex >= 0 &&
            lastSlashIndex < address.length() - 1) {
            download(address, address.substring(lastSlashIndex + 1));
        } else {
            System.err.println("Could not figure out local file name for " +
                address);
        }
    }

    public static void main(String[] args) {
        for (int i = 0; i < args.length; i++) {
            download(args[i]);
        }
    }
}
 
 


아래는 관련 댓글들입니다.   댓글수: 1

좋은 정보 감사합니다. 잘 작동하네요 ^^
2015-10-02 20:48
박효민
앨범방 문의전화
010-2358-5700
평일 오전10시 ~ 오후5시
앨범방 계좌번호
하나은행
659-910429-20707
예금주 조우성
신용카드결제
안전한 나이스페이 전자결제시스템을 사용하고 있습니다.
이상 무료배송
주문하시는 총상품금액의 합계가 이상일 경우 택배비()가 무료입니다.
안전거래가맹점