Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import java.net.HttpURLConnection;

import java.net.URL;

public class Main {
    private static final int BUFFER_SIZE = 1024 * 4;

    public static boolean downloadFile(File file, URL url) throws IOException {
        BufferedInputStream bis = null;
        BufferedOutputStream bos = null;
        HttpURLConnection conn = null;
        try {
            conn = (HttpURLConnection) url.openConnection();
            bis = new BufferedInputStream(conn.getInputStream());
            bos = new BufferedOutputStream(new FileOutputStream(file));

            int contentLength = conn.getContentLength();

            byte[] buffer = new byte[BUFFER_SIZE];
            int read = 0;
            int count = 0;
            while ((read = bis.read(buffer)) != -1) {
                bos.write(buffer, 0, read);
                count += read;
            }
            if (count < contentLength)
                return false;
            int responseCode = conn.getResponseCode();
            if (responseCode / 100 != 2) {
                // error
                return false;
            }
            // finished
            return true;
        } finally {
            try {
                bis.close();
                bos.close();
                conn.disconnect();
            } catch (Exception e) {
            }
        }
    }
}