`

通过程序从网络上下载文件

    博客分类:
  • Java
阅读更多
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.DataInputStream;
import java.net.URL;
import java.net.URLConnection;

class FileDownloader{

  public static void main(String args[]){
    if (args.length!=2){
      System.out.println(
        "Proper Usage: java FileDownloader RemoteFileURL LocalFileName");
      System.exit(0);
    }

  DataInputStream in=null;
  DataOutputStream out=null;
  FileOutputStream fOut=null;

  try{
    URL remoteFile=new URL(args[0]);
    URLConnection fileStream=remoteFile.openConnection();

    // Open the input streams for the remote file 
    fOut=new FileOutputStream(args[1]);

    // Open the output streams for saving this file on disk
    out=new DataOutputStream(fOut);

    in=new DataInputStream(fileStream.getInputStream());

    // Read the remote on save save the file
    int data;
    while((data=in.read())!=-1){
         fOut.write(data);
    }  
    System.out.println("Download of " + args[0] + " is complete." );   
  } catch (Exception e){
     e.printStackTrace();
  } finally {
     try{
       in.close();
       fOut.flush(); 
       fOut.close();      
     } catch(Exception e){e.printStackTrace();}
     
    }
 }
}

本程序可以从任何未受保护的网页上面下载任何文件(如图片,音乐,二进制文件)到本地。 

例子:下载Yahoo的首页到本地

java FileDownloader http://www.yahoo.com/index.html c:\\temp\\yahoo.html

 

分享到:
评论

相关推荐

    FTP下载文件的示例程序

    FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在互联网上进行文件传输。在这个基于MFC(Microsoft Foundation Classes)的示例程序中,开发者利用VS2015(Visual Studio 2015)作为集成开发环境,...

    Winform网络下载文件发送打印机打印程序源码

    【Winform网络下载文件发送打印机打印程序源码】是一个基于Windows Forms(Winform)的应用程序,主要用于实现从网络下载文件并直接发送到打印机进行打印的功能。这个程序的核心是利用C#编程语言构建的,它结合了...

    微信小程序文件上传(手机文件管理器上传)

    综上所述,实现微信小程序的文件上传功能涉及到前端交互设计、微信小程序API的使用、文件处理、网络请求、错误处理等多个方面。在开发过程中,需要充分考虑用户体验和安全性,同时也要充分利用微信小程序提供的工具...

    C#实现IIS服务器下载文件

    通过使用WebClient类和FileStream类,可以实现高抽象程度的Internet通讯服务,并将网络文件下载到本地。 一、概述 本文通过一个实例向大家介绍用Visual C#进行Internet通讯编程的一些基本知识。我们知道.Net类包含...

    这是一个下载文件的示例程序

    1. **构建URL**:确定mp3文件的网络地址,这可能是服务器上的一个静态路径,或者通过API接口动态生成。 2. **发起请求**:使用HTTP库(如Python的`requests`库)向服务器发送GET请求,请求的目标是mp3文件的URL。 ...

    iphone文件下载程序

    "iPhone文件下载程序"这个实例Demo主要展示了如何在iOS设备上实现从网络下载文件,这通常涉及到网络编程、多线程处理以及文件存储等多个技术点。以下是相关的知识点详解: 1. **网络编程**:iOS开发中,主要使用`...

    网络文件下载和网络测速

    首先,网络带宽是决定下载速度的主要因素,带宽越大,理论上下载速度越快。其次,服务器的性能也会影响下载速度,如果服务器负载过高,可能会导致下载速度变慢。再者,同时运行的其他网络应用也可能占用带宽,降低...

    VB网络下载程序,获取下载速度、文件大小、百分比等

    这需要程序能够记住已下载的文件位置,并在下次启动下载时发送适当的HTTP头部信息来请求从特定位置开始。 10. **暂停和取消下载**:为了给用户提供更多控制,下载程序还需要提供暂停和取消功能。这通常涉及停止数据...

    C#做的FTP文件的下载程序

    标题 "C#做的FTP文件的下载程序" 描述了使用C#编程语言开发的一个应用程序,该程序能够实现从FTP服务器下载文件的功能。FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议,常用于网站管理和...

    Wpf下载网络文件到本地指定路径(简单示例)

    在本文中,我们将深入探讨如何在WPF应用中实现从网络下载文件并将其保存到本地指定路径。这个过程涉及到多个关键知识点,包括网络请求、文件流处理和UI更新。我们将结合给定的标题和描述来详细阐述这些概念。 首先...

    C++使用MFC下载文件显示进度条.rar

    通过以上步骤,你将实现一个简单的MFC应用程序,它可以下载文件并显示下载进度。这个例子对于学习MFC编程以及网络编程中的文件下载和进度控制很有帮助,同时也展示了如何在多线程环境下同步UI更新。在实际应用中,...

    网络文件服务程序

    通过以上知识点的实施,我们可以构建出一个基本的网络文件服务程序,实现文件的上传、下载功能。这个项目为初学者提供了理解网络编程和文件传输的良好实践,也为更复杂的文件系统和服务提供了基础。

    c# 多线程文件下载程序

    通过利用多线程,可以将一个大文件分割成多个部分,同时从服务器下载,从而显著缩短整体下载时间。以下是对这个“C#多线程文件下载程序”中涉及的关键知识点的详细解释: 1. **C#**: C#是一种面向对象的编程语言,...

    VC 网上下载文件的网络下载程序源码.rar

    VC 网上下载文件的网络下载程序源码,给定标准的URL格式,可依次批量下载指定网上文件,格式不限,这个VC下载程序的核心是基于URLDownloadToFile函数,对此,你也可学习一下这个函数的使用方法,最终的实例运行界面...

    课程设计FTP文件下载程序设计

    Socket程序设计是每个网络工程人员必备的技术,希望同学们通过每题的联系掌握最基本的Socket程序设计技术。 题目内容: 1、 研究面向连接的Socket程序基本框架。 2、 设计并实现面向连接的Socket文件下载服务器...

    Delphi多线程批量文件下载及解压程序源代码

    本项目是基于Delphi开发的一个多线程批量文件下载及解压程序,通过利用Delphi的强大功能和三方库,实现了高效、稳定的文件下载与解压操作。下面将详细阐述这个程序的核心知识点。 首先,Delphi是一个流行的面向对象...

    实现简单的文件下载程序 c++

    标题中的"实现简单的文件下载程序 c++"意味着我们要创建一个应用程序,它可以从Web服务器获取文件并将其保存到本地计算机。这通常涉及到HTTP协议,因为这是互联网上最常见的文件传输方式。 描述中提到的"webclient...

    百度文库豆丁等文件免费下载绿色程序,解压即可

    标题中的“百度文库豆丁等文件免费下载绿色程序”指的是一个可以免费下载百度文库、豆丁网等平台上的文档的工具。这类工具通常是为了帮助用户绕过平台的付费限制,提供一种便捷的下载方式。在IT领域,这涉及到网络...

    qt http 或https 协议文件下载模块类,可以用来下载文件或更新程序

    qt http 或https 协议文件下载模块类。如果用https协议,需要加入openssl。 直接进行调用 DownloadTool m_pDownloadTool = new DownloadTool(ExeDownLoadUrl, QApplication::applicationDirPath() + "/Update"); ...

    QT编写的下载文件小程序

    在这个下载文件的小程序中,QNetworkAccessManager被用来发起HTTP GET请求,从服务器上获取文件,并通过QNetworkReply对象接收响应数据。 以下是这个小程序涉及到的主要知识点: 1. **QNetworkAccessManager**:这...

Global site tag (gtag.js) - Google Analytics