请教高手解决写文件流的问题

w196657800 2006-09-04 05:58:40
public void ReadFile(string FileName)
{
try
{
//取得文件大小;
WebRequest request = WebRequest.Create(FileName);
WebResponse rsponse = request.GetResponse();
fbytes = rsponse.ContentLength;
rsponse.Close();
//开始下载数据;
DownFile.DownloadData(FileName);
myStream = DownFile.OpenRead(FileName);
StreamReader mySr = new StreamReader(myStream);
byte[] mbyte = new byte[fbytes];
int allmybyte = (int)mbyte.Length;
int startmbyte = 0;
while(fbytes>0)
{
int m = myStream.Read(mbyte,startmbyte,allmybyte);
if(m==0) break;
startmbyte+=m;
allmybyte-=m;

}
FileStream fstrm = new FileStream(FileName,FileMode.OpenOrCreate,FileAccess.Write);
fstrm.Write(mbyte,0,startmbyte);
myStream.Close();
fstrm.Close();

}
catch(WebException ex)
{
MessageBox.Show(ex.Message,"网络故障,请联系管理员!");
}
}
以上是我的代码,原来是独立程序运行没有任何问题,但是现在做成模块出现了问题;
FileStream fstrm = new FileStream(FileName,FileMode.OpenOrCreate,FileAccess.Write);
这句话出现异常!
提示是这样的:未处理的“System.IO.IOException”类型的异常出现在 mscorlib.dll 中。

其他信息: 该进程无法访问文件“\\192.168.1.222\temp_for_all\TIMELOG.exe”,因为该文件正由另一进程使用。
请高手来帮忙解决!本人十分感谢!
...全文
357 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰宇枫 2006-09-19
  • 打赏
  • 举报
回复
接分~~
谢谢~~
superhasty 2006-09-08
  • 打赏
  • 举报
回复
你要保证每次写的文件名都不一样才行。

或者你将FileStream做成公用的,也可以。
superhasty 2006-09-08
  • 打赏
  • 举报
回复
因为有多个线程并发地调用了这个模块。同时向一个文件写不被支持。

1,979

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧