C# 通过c移动文件后,缩略图仍然保留#
我正在使用FileSystemWatcher监视该目录中是否复制了任何文件。如果任何文件被复制,我想将其移动到另一个正在工作的目录,但该目录中仍保留一个缩略图。当我单击该按钮时,会收到一条错误消息,说明“C# 通过c移动文件后,缩略图仍然保留#,c#,file-io,console,C#,File Io,Console,我正在使用FileSystemWatcher监视该目录中是否复制了任何文件。如果任何文件被复制,我想将其移动到另一个正在工作的目录,但该目录中仍保留一个缩略图。当我单击该按钮时,会收到一条错误消息,说明“无法归档XYZ文件””。手动刷新该目录后,此文件将被删除。任何关于如何删除缩略图的建议 这是我的密码 class Program { static void Main(string[] args) { System.IO.FileSystemWatcher obj
无法归档XYZ文件”
”。手动刷新该目录后,此文件将被删除。任何关于如何删除缩略图的建议
这是我的密码
class Program
{
static void Main(string[] args)
{
System.IO.FileSystemWatcher objFileSystemWatcher = new System.IO.FileSystemWatcher(@"C:\Users\Test\");
objFileSystemWatcher.EnableRaisingEvents = true;
objFileSystemWatcher.IncludeSubdirectories = true;
objFileSystemWatcher.Created += new FileSystemEventHandler(OnCreated);
Console.ReadLine();
}
public static void OnCreated(object source, FileSystemEventArgs e)
{
FileInfo fInfo = new FileInfo(e.FullPath);
while (IsFileLocked(fInfo))
{
Thread.Sleep(500);
}
Console.WriteLine("{0}, with path {1} has been {2}", e.Name, e.FullPath, e.ChangeType);
}
static bool IsFileLocked(FileInfo file)
{
FileStream stream = null;
try
{
stream = file.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.None);
}
catch (IOException)
{
Console.WriteLine("In catch");
return true;
}
finally
{
Console.WriteLine("In finally");
if (stream != null)
{
stream.Close();
file.MoveTo(@"D:\MoveFolder\" + file.Name);
}
}
return false;
}
public static void OnRenamed(object source, RenamedEventArgs e)
{
// Specify what is done when a file is renamed.
Console.WriteLine(" {0} renamed to {1}", e.OldFullPath, e.FullPath);
}
}