在c#中重命名文件:
File.Move(source,Destination);
File.Delete(source);
它成功执行,但是当我再次尝试重命名文件时,系统会给出以下异常: 该进程无法访问该文件,因为该文件正由另一个进程使用。 我无法发现它在哪里使用?当我进一步调试错误时,它显示我的类名是在w3wp.exe的过程中,这是IIS。我接下来该怎么办? 得到
foreach (string folder in folder)
{
FileSystemItem item = new FileSystemItem();
DirectoryInfo di = new DirectoryInfo(folder);
item.Name = di.Name;
item.FullName = di.FullName;
item.Path = path + "\\" + item.Name;
item.CreatedDate = di.CreationTime;
item.IsFolder = true;
item.Extension = "folder";
listFolder.Add(item);
}
docList = CreatXmllist(listFolder);
return docList
这就是我获取文件夹列表的方式,然后将其返回到xml。然后在文件夹中我点击它时获取文件
现在获取图片:这是代码
public xml (string path, List<l> one)
{
List<T> tt = new List<T>();
List<T> SessionList = new List<T>();
string[] files = Directory.GetFiles(HttpContext.Current.Request.PhysicalApplicationPath + path);
foreach (string file in files)
{
FileSystemItem item = new FileSystemItem();
FileInfo i = new FileInfo(file);
string a = i.LastWriteTime.ToString();
var thumbnails = from a in b where a.Name == fi.Name select t;
if (fi.Name != "a")
if (t.Count() == 0)
{
r session r = new r();
r.aName = fi.aName;
SessionList.Add(r);
fi.Exists;
}
else
t.Add((T)t.First());
}
答案 0 :(得分:2)
您不需要将File.Delete作为重命名的一部分来调用,如果您复制了该文件,则需要它。
答案 1 :(得分:1)
尝试使用FileShare枚举器。然后尝试用monesharing打开一个文件,关闭句柄,如果没有异常,你可以移动文件。
http://msdn.microsoft.com/de-de/library/system.io.fileshare.aspx
它包含方法Read,Write等。
答案 2 :(得分:1)
创建一个FileInfo
实例,您可以在其中多次重命名。
FileInfo file = new FileInfo(source);
file.MoveTo(destination);
// execute more code
file.MoveTo(destination2)