C#中怎样随时判断文件夹中生成的新文件?

一个文件夹中存放每隔6分钟生成的新文件,怎样判断哪个文件是新生成的并复制到另外一个文件夹中存放,谢谢!... 一个文件夹中存放每隔6分钟生成的新文件,怎样判断哪个文件是新生成的并复制到另外一个文件夹中存放,谢谢! 展开
 我来答
灰姑娘的霸气
2015-12-11 · TA获得超过1.3万个赞
知道大有可为答主
回答量:3145
采纳率:72%
帮助的人:244万
展开全部
using System;using System.Collections.Generic;using System.IO;using System.Linq; namespace ConsoleApplication1{ //自定义一个类 public class FileTimeInfo { public string FileName; //文件名 public DateTime FileCreateTime; //创建时间 } class Program { static void Main(string[] args) { //使用 GetLatestFileTimeInfo //获取d:\test文件中,扩展名为.txt的最新文件 FileTimeInfo fi = GetLatestFileTimeInfo(@"d:\Test", ".txt"); if (fi != null) { Console.WriteLine("文件名:{0} 创建时间:{1}", fi.FileName, fi.FileCreateTime); } else { Console.WriteLine("文件夹中没有指定扩展名的文件!"); } } //获取最近创建的文件名和创建时间 //如果没有指定类型的文件,返回null static FileTimeInfo GetLatestFileTimeInfo(string dir, string ext) { List<FileTimeInfo> list = new List<FileTimeInfo>(); DirectoryInfo d = new DirectoryInfo(dir); foreach (FileInfo fi in d.GetFiles()) { if (fi.Extension.ToUpper() == ext.ToUpper()) { list.Add(new FileTimeInfo() { FileName = fi.FullName, FileCreateTime = fi.CreationTime }); } } var qry = from x in list orderby x.FileCreateTime select x; return qry.LastOrDefault(); } }} ---
请留意上面代码中的 GetLatestFileTimeInfo( ) 方法!
heke_asp
推荐于2017-12-15 · TA获得超过481个赞
知道小有建树答主
回答量:379
采纳率:50%
帮助的人:232万
展开全部
每个人有每个人写程序的思路,也没必要去参考别人的。
可以用一个集合保存之前所有的文件。然后过六秒再次扫描文件夹中所有文件。
也主要是用IO;
把之前的集合和之后扫描的集合进行对比,就知道那些文件名是多出来的了,然后就可以拷贝到别的目录下。
System.IO.Directory.GetFiles(path);查看目录中的所有文件。
System.IO.FileInfo file = new System.IO.FileInfo(oldpath); file.CopyTo(path);拷贝
System.IO.FileInfo file = new System.IO.FileInfo(oldpath); file.Delete();//删除
希望对你有帮助,用自己的思维去想,会让自己的技术更进一步。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a1012144015
2016-01-05 · TA获得超过6415个赞
知道大有可为答主
回答量:9038
采纳率:40%
帮助的人:1352万
展开全部
可以用一个集合保存之前所有的文件。然后过六秒再次扫描文件夹中所有文件。
也主要是用IO;
把之前的集合和之后扫描的集合进行对比,就知道那些文件名是多出来的了,然后就可以拷贝到别的目录下。
System.IO.Directory.GetFiles(path);查看目录中的所有文件。
System.IO.FileInfo file = new System.IO.FileInfo(oldpath); file.CopyTo(path);拷贝
System.IO.FileInfo file = new System.IO.FileInfo(oldpath); file.Delete();//删除
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
学生党资料
2011-07-28 · TA获得超过278个赞
知道小有建树答主
回答量:310
采纳率:0%
帮助的人:153万
展开全部
System.IO.FileSystemWatcher fs = new FileSystemWatcher("D:\\");//监视目录
fs.Created += new FileSystemEventHandler(fs_Created);//监视创建
fs.EnableRaisingEvents = true;//启动监视
void fs_Created(object sender, FileSystemEventArgs e)
{
//逻辑内容
File.Copy(“”,“”);//文件复制
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
carlshe
2011-07-28 · TA获得超过321个赞
知道小有建树答主
回答量:402
采纳率:100%
帮助的人:396万
展开全部
System.IO.FileSystemWatcher

参考资料: http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/6ec4b09e-da13-4aea-95db-b3e822fc6b5b/

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式