黑马程序员技术交流社区
标题:
做一个下载文件的程序 发现了两种可以下载文件的方法,请高手指点下两种的区别
[打印本页]
作者:
彭张铨
时间:
2012-9-18 22:49
标题:
做一个下载文件的程序 发现了两种可以下载文件的方法,请高手指点下两种的区别
public string GetF(string path1,string path2)
{
try
{
WebClient wc = new WebClient();
wc.DownloadFile(@"E:\MyWeb\MyWeb2\Folder\" + path1, path2);
return "下载成功。。。";
}
catch
{
return "下载失败。。。";
}
public string GetFF(string path1, string path2)
{
try
{
WebRequest wr = WebRequest.Create(@"E:\MyWeb\MyWeb2\Folder\"+path1);
WebResponse pos = wr.GetResponse();
long totlebyte = pos.ContentLength;
Stream st = pos.GetResponseStream();
FileStream fs = new FileStream(path2,FileMode.OpenOrCreate,FileAccess.Write);
BinaryReader br = new BinaryReader(st);
StreamReader reader = new StreamReader(st);
byte[] bt = br.ReadBytes((int)st.Length);
fs.Write(bt,0,bt.Length);
st.Close();
fs.Close();
return "下载成功。。。";
}
catch
{
return "下载失败。。。";
}
}
作者:
许庭洲
时间:
2012-9-19 08:23
1. GetF方法采用WebClient 方式使用基于事件的异步编程模型,在HTTP响应返回时引发的WebClient回调是在UI线程中调用的,因此可用于更新UI元素的属性,例如把 HTTP响应中的数据绑定到UI的指定控件上进行显示。
2. GetFF方法是采用HttpWebRequest方式,它是基于后台进程运行的,回调不是UI线程, 可以获取对应HTTP请求的响应,获取响应流,然后对接响应流(以"GBK"字符集);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2