集册 Java实例教程 从URL下载文件

从URL下载文件

欢马劈雪     最近更新时间:2020-01-02 10:19:05

527
从URL下载文件
// 来自 N o w J a v a . c o m - 时代Java

/*

 * Jabox Open Source Version

 * Copyright (C) 2009-2010 Dimitris Kapanidis                                                                                                                          

 * 

 * This file is part of Jabox

 * 

 * This program is free software: you can redistribute it and/or modify

 * it under the terms of the GNU General Public License as published by

 * the Free Software Foundation, either version 3 of the License, or

 * (at your option) any later version.

 * 

 * This program is distributed in the hope that it will be useful,

 * but WITHOUT ANY WARRANTY; without even the implied warranty of

 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

 * GNU General Public License for more details.

 * 

 * You should have received a copy of the GNU General Public License

 * along with this program.  If not, see http://www.gnu.org/licenses/.

 */

//package com.nowjava;

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.net.URL;


public class Main {

    public static void main(String[] argv) throws Exception {

        String urlPath = "nowjava.com";

        File outputFile = new File("Main.java");// from N o w J a v a . c o m - 时代Java

        System.out.println(downloadFile(urlPath, outputFile));

    }


    /**

     * @param urlPath

     * @return

     */

    public static File downloadFile(final String urlPath,

            final File outputFile) {

        InputStream is = null;

        BufferedInputStream bin = null;

        BufferedOutputStream bout = null;


        outputFile.getParentFile().mkdirs();


        try {

            URL url = new URL(urlPath);

            is = url.openStream();

            bin = new BufferedInputStream(is);

            bout = new BufferedOutputStream(

                    new FileOutputStream(outputFile));

            while (true) {

                int datum = bin.read();

                if (datum == -1) {

                    break;

                }

                bout.writ
展开阅读全文