[英]How can I dynamically read XML files in a folder without refreshing my app using C#?
[英]How to continuously read files in a folder using C#?
我想从本地驱动器上的文件夹中连续读取所有图像文件,然后进行一些处理并在读取完所有图像后结束程序。 图像编号不是连续的,它们是随机的,但是它们位于单个文件夹中。 目前,我的程序只能读取一个文件。 见下面的代码
string imagePath = Path.Combine(Freconfig.GetSamplesFolder(), "24917324.jpg");
使用FileSystemWatcher https://msdn.microsoft.com/zh-cn/library/system.io.filesystemwatcher(v=vs.110).aspx
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = Freconfig.GetSamplesFolder();
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName;
watcher.Filter = "*.jpg";
// Add event handlers.
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.Created += new FileSystemEventHandler(OnChanged);
watcher.Deleted += new FileSystemEventHandler(OnChanged);
watcher.Renamed += new RenamedEventHandler(OnRenamed);
// Begin watching.
watcher.EnableRaisingEvents = true;
在启动监视程序之前,请使用目录列表查找所有现有文件并进行处理,然后使用监视程序
这是你想要的? Directory.GetFiles(@"..\\somepath")
( MSDN )
您可以尝试:
directoryInfo = new DirectoryInfo("C:/YOUR/DIRECTORY/HERE]");
var files = directoryInfo.GetFiles("*.jpg").OrderBy(x => x.CreationTimeUtc);
foreach (var file in files)
{
//Your processing
}
请注意,这会将所有.jpg文件保存在目录中。 foreach循环将首先从最早的文件开始。
这应该获取目录中的所有文件:
private List<FileInfo> GetFileInfo()
{
string path = @"C:\MyPath";
List<FileInfo> files = new List<FileInfo>();
DirectoryInfo di = new DirectoryInfo(path);
//TopDirectoryOnly if you don't want subfolders
foreach (FileInfo f in di.GetFiles("*.jpg", SearchOption.TopDirectoryOnly))
{
files.Add(f);
}
return files;
}
然后在您的代码中,对返回的集合进行迭代,并执行您需要对它们进行的所有工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.