C#利用WebClient 两种方式下载文件

WebClient client = new WebClient();

第一种

string URLAddress = @"http://files.cnblogs.com/x4646/tree.zip";

string [email protected]"C:\";

client.DownloadFile(URLAddress, receivePath + System.IO.Path.GetFileName(URLAddress));

就OK了。

第二种

 Stream str = client.OpenRead(URLAddress);
   StreamReader reader = new StreamReader(str);
   byte[] mbyte = new byte[1000000];
   int allmybyte = (int)mbyte.Length;
   int startmbyte = 0;

while (allmybyte > 0)
   {

int m = str.Read(mbyte, startmbyte, allmybyte);
    if (m == 0)
     break;

startmbyte += m;
    allmybyte -= m;
   }

reader.Dispose();
   str.Dispose();

string path = receivePath + System.IO.Path.GetFileName(URLAddress);
   FileStream fstr = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write);
   fstr.Write(mbyte, 0, startmbyte);
   fstr.Flush();
   fstr.Close();

利用webclient读取html内容

public static string GetWebClient(string url)

{

    string strHTML = "";

    WebClient myWebClient = new WebClient();            

    Stream myStream = myWebClient.OpenRead(url);

    StreamReader sr = new StreamReader(myStream, Encoding.Default);//注意编码

    strHTML = sr.ReadToEnd();

    myStream.Close();

    return strHTML;

}

时间: 2024-12-11 17:07:13

C#利用WebClient 两种方式下载文件的相关文章

两种 js下载文件的方法(转)

function DownURL(strRemoteURL, strLocalURL){ try{ var xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP"); xmlHTTP.open("Get", strRemoteURL, false); xmlHTTP.send(); var adodbStream = new ActiveXObject("ADODB.Stream"); adodbStrea

两种方式txt文件插入数据库

1.比较下面代码,两段代码执行时间差不多,代码一中使用了连接复用(每次并不是真正关闭) 1)每插入一条数据,连接打开“关闭” string[] telNum = File.ReadAllLines(ofd.FileName, Encoding.Default).ToArray(); // for (int i = 1; i < telNum.Count(); ++i) // { // string[] strs = telNum[i].Split('\t');//Tab键转义为“\t” // s

Android 扫描音乐文件、两种方式获取文件最新修改时间

package com.example.demo_mediascanner; import java.io.File; import java.util.Calendar; import java.util.Date; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.provider.MediaStore; import android.app.Acti

(六)两种方式将一个文件的内容复制到另一个文件(第二种方式效率更高,第一种一个字符一个字符的读写,第二种一个数组一个数组的读写)

一:将一个文件复制给另一个文件,每次读取一个字符import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; public class CopyFile { /** * 需求:将一个文件复制给另一个文件 * @param args * @throws Exception */ public static void main(String[] args) throws Exce

Simics虚拟机Solaris 8操作系统获取host 系统win7上的文件的两种方式

1 介绍 本文基于的环境设置如下: ? 宿主操作系统:Windows 7 Ultimate ? 寄生操作系统:Solaris 8 SPARC (SunOS 5.8) ? 虚拟环境:Simics 3.0.4 本文假定已在Simics 上安装好Solaris 8 SPARC 操作系统. 动机:一个Unix下可以运行的二进制文件GraphGen,在单独的一台装有Ubuntu的电脑上不能运行,因为该电脑的硬件架构是基于X86的,而GraphGen是SPARC架构下才能运行的程序:在我的笔记本Win7系统

第六篇、文件处理之文件修改的两种方式

目录 第六篇.文件处理之文件修改的两种方式 说明 方式一 方式二 总结 第六篇.文件处理之文件修改的两种方式 说明 文件的数据是存放在硬盘上的,所以只能覆盖,不能直接修改,平时看到的修改文件都是障眼法的效果,具体的两种实现方式 方式一 将硬盘里的文件全部加载到内存里,内存是可以直接修改的,修改完了后,再由内存覆盖到硬盘里 import os with open('37r.txt') as fr, open('37r_swap.txt', 'w') as fw: data = fr.read()

OpenCV4Android开发环境搭建两种方式加上图像二值化

1.环境搭建 进行android开发所需要的环境一般为:eclipse + android sdk + ADT,而OpenCV的开发由于需要编写本地代码(C/C++),因此还需要安装以下工具:NDK,Cygwin,CDT.网上都有大量详细的安装讲解,本文只描述下其中关键步骤. 1.1 NDK的安装 (1) NDK下载后解压到固定目录即可,无需安装.本文解压到D盘根目录下,其路径为:D:\android-ndk-r8d: (2) 添加环境变量,将其安装路径添加到系统path变量中,并添加系统变量N

springmvc和servlet下的文件上传和下载(存文件目录和存数据库Blob两种方式)

项目中涉及了文件的上传和下载,以前在struts2下做过,今天又用springmvc做了一遍,发现springmvc封装的特别好,基本不用几行代码就完成了,下面把代码贴出来: FileUpAndDown.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"%> <html> <head> <title>using commons Uplo

springmvc和servlet在上传和下载文件(保持文件夹和存储数据库Blob两种方式)

参与该项目的文件上传和下载.一旦struts2下完成,今天springmvc再来一遍.发现springmvc特别好包,基本上不具备的几行代码即可完成,下面的代码贴: FileUpAndDown.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"%> <html> <head> <title>using commons Upload to