需要从ftp服务器下载最新文件 [英] Need to download latest file from ftp server
本文介绍了需要从ftp服务器下载最新文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想从ftp服务器下载最后修改过的文件,或者我们可以说服务器上最新添加的文件。
请帮忙,因为我可以从服务器获取文件列表而不是新文件列表。
提前致谢。
-Abbas
Hi,
I am looking to download a file from ftp server that is last modified, or we can say latest added file from server.
Please help as i am able to get file list from server but not the new one.
Thanks in advance.
-Abbas
推荐答案
FileSystemWatcher fileWatcherFTP = new FileSystemWatcher();
fileWatcherFTP.Path = directoryToWatch;
fileWatcherFTP.Filter =* .xml;
fileWatcherFTP .IncludeSubdirectories = true;
fileWatcherFTP.Created + = new FileSystemEventHandler(fileWatcherFTP_Changed);
fileWatcherFTP。已更改+ = new FileSystemEventHandler(fileWatcherFTP_Changed);
fileWatcherFTP.EnableRaisingEvents = true;
timerFTP = new System.Timers.Timer(60000);
timerFTP.Enabled = true;
timerFTP.Elapsed + = new System.Timers.ElapsedEventHandler(timer_Elapsed);
timerFTP.Start();
< br $>
void timer_Elapsed(object sender,System.Timers.ElapsedEventArgs e)
{
processFile();
}
private void processFile()
{
试试
{
DirectoryInfo directoryInfo = new DirectoryInfo(directoryToWatch);
FileInfo [] files = directoryInfo.GetFiles();
if(files.Count()== 0)
{
//处理完所有文件后停止计时器
timerFTP.Stop();
T imerFTP.Enabled = false;
}
else
{
foreach(文件中的FileInfo fileInfo)
{
//处理文件
}
}
}
catch(Exception ex){}
}
我做了未经测试的代码。您可以尝试此代码。
FileSystemWatcher fileWatcherFTP = new FileSystemWatcher();
fileWatcherFTP.Path = directoryToWatch;
fileWatcherFTP.Filter = "*.xml";
fileWatcherFTP.IncludeSubdirectories = true;
fileWatcherFTP.Created += new FileSystemEventHandler(fileWatcherFTP_Changed);
fileWatcherFTP.Changed += new FileSystemEventHandler(fileWatcherFTP_Changed);
fileWatcherFTP.EnableRaisingEvents = true;
timerFTP = new System.Timers.Timer(60000);
timerFTP.Enabled = true;
timerFTP.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
timerFTP.Start();
void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
processFile ();
}
private void processFile()
{
try
{
DirectoryInfo directoryInfo = new DirectoryInfo(directoryToWatch);
FileInfo[] files = directoryInfo.GetFiles();
if (files.Count() == 0)
{
// Stop Timer when all files has been processed
timerFTP.Stop();
timerFTP.Enabled = false;
}
else
{
foreach (FileInfo fileInfo in files)
{
// process file
}
}
}
catch (Exception ex){}
}
I did not tested code. You can try this code.
这篇关于需要从ftp服务器下载最新文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文