c# 移动文件 正由另一进程使用,因此该进程无法访问该文件。

我的整个程序只有一句代码,如下:File.Move(@"D:\1.xml",@"D:\2.xml");报错:正由另一进程使用,因此该进程无法访问该文件。第一,权限没问题;... 我的整个程序只有一句代码,如下:

File.Move(@"D:\1.xml",@"D:\2.xml");

报错: 正由另一进程使用,因此该进程无法访问该文件。

第一,权限没问题;
第二,没有任何程序在使用本文件;
第三,可以File.Delete(); 也可以File.Copy();
但做过一次任何操作后就不能再进行任何其他操作了,比如先复制,后就不能再删除或者读写了,报错均为:正由另一进程使用,因此该进程无法访问该文件。

请高手赐教.

在我家没事, 在学校机房就报错,学校环境为 Windows 2003 + vs2005 + .net2.0
第四,单线程

第五,不管使用静态的File, 还是对象集的FileInfo ,都会出这个异常, 怀疑机房环境问题?

再重复一遍, 整个程序只有这一句代码, 并且无其他程序访问此文件,而且换了其他的文件还是不行
展开
 我来答
老级幸1286
2010-03-11 · TA获得超过511个赞
知道小有建树答主
回答量:756
采纳率:0%
帮助的人:382万
展开全部
这是个IOException
因为文件同时在操作,
如果你是多线程程序的话。

例:
object locker = new object();

//每个线程操作时,请先加锁
lock(locker)
{
}
祚胤17
2010-03-12 · TA获得超过786个赞
知道大有可为答主
回答量:1148
采纳率:82%
帮助的人:587万
展开全部
48.批量重命名
//using System.IO;
string strOldFileName; string strNewFileName; string strOldPart =this.textBox1.Text.Trim();//重命名文件前的文件名等待替换字符串
string strNewPart = this.textBox2.Text.Trim();//重命名文件后的文件名替换字符串
string strNewFilePath;
string strFileFolder; //原始图片目录
int TotalFiles = 0; DateTime StartTime = DateTime.Now; //获取开始时间
FolderBrowserDialog f1 = new FolderBrowserDialog(); //打开选择目录对话框
if (f1.ShowDialog() == DialogResult.OK) {
strFileFolder = f1.SelectedPath;
DirectoryInfo di = new DirectoryInfo(strFileFolder);
FileInfo[] filelist = di.GetFiles("*.*");
int i = 0;
foreach (FileInfo fi in filelist) {
strOldFileName = fi.Name;
strNewFileName = fi.Name.Replace(strOldPart, strNewPart);
strNewFilePath = @strFileFolder + "\\" + strNewFileName;
filelist[i].MoveTo(@strNewFilePath); TotalFiles += 1;
this.listBox1.Items.Add("文件名:" + strOldFileName + "已重命名为" + strNewFileName);
i += 1;
}
}
DateTime EndTime = DateTime.Now;//获取结束时间
TimeSpan ts = EndTime - StartTime; this.listBox1.Items.Add("总耗时:" + ts.Hours.ToString() + "时" +ts.Minutes.ToString() + "分" + ts.Seconds.ToString() + "秒");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
friskyang
2010-03-12 · TA获得超过503个赞
知道小有建树答主
回答量:367
采纳率:0%
帮助的人:173万
展开全部
同时操作的问题吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式