需要从ftp服务器下载最新文件 [英] Need to download latest file from ftp server

查看:141
本文介绍了需要从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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆