下载文件,并从它在同一时间阅读

编程入门 行业动态 更新时间:2024-10-11 13:25:34
本文介绍了下载文件,并从它在同一时间阅读的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我下载一个文件,这个方法:

Web客户端WC =新的Web客户端(); WC.DownloadFile(URL,文件路径);

和我想在同一时间阅读的同时与文件:

变种FS =新的FileStream(文件路径,FileMode.Open,FileAccess.Read,FileShare.None);

但我得到传真:

,因为它正由另一个进程无法访问文件文件路径的过程。

这是可能的下载和阅读的同时?

修改

我现在下载的文件:

VAR REQ =(HttpWebRequest的)HttpWebRequest.Create(URL);                 VAR FILESTREAM =新的FileStream(文件路径,                     FileMode.Create,FileAccess.ReadWrite,FileShare.ReadWrite);                 使用(VAR RESP = req.GetResponse())                 {                     使用(VAR流= resp.GetResponseStream())                     {                         byte []的缓冲区=新的字节[0x10000的]。                         INT LEN;                         而((LEN = stream.Read(缓冲液,0,buffer.Length))大于0)                         {                             fileStream.Write(缓冲液,0,LEN);                         }                     }                 }

和仍然得到错误....

解决方案

VAR REQ =(HttpWebRequest的)HttpWebRequest.Create(URL); 使用(VAR RESP = req.GetResponse()) {     使用(VAR流= resp.GetResponseStream())     {         byte []的缓冲区=新的字节[0x10000的]。         INT LEN;         而((LEN = stream.Read(缓冲液,0,buffer.Length))大于0)         {             //是否有任何你想要的内容             // ***您的code ***             fileStream.Write(缓冲液,0,LEN);         }     } }

I download a file with this method:

WebClient WC = new WebClient(); WC.DownloadFile(url, filePath);

And i want that in the same time to read the file in the same time with:

var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.None);

but i get allways :

The process cannot access the file 'filePath' because it is being used by another process.

It's possible to download and read in the same time?

Edit

I now download the file with:

var req = (HttpWebRequest)HttpWebRequest.Create(url); var fileStream = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite); using (var resp = req.GetResponse()) { using (var stream = resp.GetResponseStream()) { byte[] buffer = new byte[0x10000]; int len; while ((len = stream.Read(buffer, 0, buffer.Length)) > 0) { fileStream.Write(buffer, 0, len); } } }

And still get the error....

解决方案

var req = (HttpWebRequest)HttpWebRequest.Create(url); using (var resp = req.GetResponse()) { using (var stream = resp.GetResponseStream()) { byte[] buffer = new byte[0x10000]; int len; while ((len = stream.Read(buffer, 0, buffer.Length))>0) { //Do with the content whatever you want // ***YOUR CODE*** fileStream.Write(buffer, 0, len); } } }

更多推荐

下载文件,并从它在同一时间阅读

本文发布于:2023-11-24 00:30:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1623321.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:它在   并从   文件

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!