下面是使用C#下载文件的多种方法小结的完整攻略,包含两条示例。
1. WebClient下载文件
使用WebClient下载文件是C#中最简单的方法之一。WebClient是System.Net中一个提供Web请求功能的类,可用来下载文件。
示例代码:
using System.Net;
string url = "http://example.com/file.txt";
string filePath = @"C:\Downloads\file.txt";
using (WebClient client = new WebClient())
{
client.DownloadFile(url, filePath);
}
代码解释:
- 首先我们引入
System.Net
命名空间; - 然后我们定义要下载的文件的URL和要保存的本地文件路径;
- 接着使用
using
语句创建一个WebClient对象,并使用DownloadFile
方法将文件下载到本地;
2. HttpWebRequest下载文件
使用HttpWebRequest下载文件是更灵活的下载方法之一,它提供了更多的下载控制选项,例如可以设置请求头、请求超时等。
示例代码:
using System.Net;
using System.IO;
string url = "http://example.com/file.txt";
string filePath = @"C:\Downloads\file.txt";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
using (Stream streamResponse = response.GetResponseStream())
using (Stream streamFile = File.Create(filePath))
{
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = streamResponse.Read(buffer, 0, buffer.Length)) > 0)
{
streamFile.Write(buffer, 0, bytesRead);
}
}
代码解释:
- 首先我们引入
System.Net
和System.IO
命名空间; - 然后我们定义要下载的文件的URL和要保存的本地文件路径;
- 接着使用
WebRequest
的静态方法Create
创建一个HttpWebRequest
对象; - 我们使用
GetResponse
方法发送请求,并使用HttpWebResponse
对象获取响应; - 然后我们创建输入和输出流,并使用
while
循环逐个字节地读取和写入文件内容;
除了以上两种方法外,还可以使用HttpClient和FileStream实现文件下载。无论使用哪种方法,都要注意异常处理,确保程序的稳定和可靠性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用 C# 下载文件的多种方法小结 - Python技术站