Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
|
FTP XML Directory Listing / Download Most Recently Modified FilesDemonstrates how to retrieve a directory listing in XML format, sort it by last-modified date, and download the 5 most recently modified files. Note: This example relies upon a new feature added to the GetXmlDirListing method. Namely, the resultant XML includes a "full" attribute with a date/time that is in a sortable format. This feature is available in the pre-release, or in new versions released after 20-May-2008.
import com.chilkatsoft.*; public class ChilkatExample { static { try { System.loadLibrary("chilkat"); } catch (UnsatisfiedLinkError e) { System.err.println("Native code library failed to load.\n" + e); System.exit(1); } } public static void main(String argv[]) { CkFtp2 ftp = new CkFtp2(); boolean success; // Any string unlocks the component for the 1st 30-days. success = ftp.UnlockComponent("Anything for 30-day trial"); if (success != true) { System.out.println(ftp.lastErrorText()); return; } ftp.put_Hostname("ftp.chilkatsoft.com"); ftp.put_Username("myLogin"); ftp.put_Password("myPassword"); // Connect and login to the FTP server. success = ftp.Connect(); if (success != true) { System.out.println(ftp.lastErrorText()); return; } // Recursively download the listings for the complete // remote directory tree at the current remote dir. // In this case, we haven't called ChangeRemoteDir, // so the current remote dir is the root directory of the // FTP account. String strXml; strXml = ftp.getXmlDirListing("*.asp"); if (strXml == null ) { System.out.println(ftp.lastErrorText()); return; } // Load the XML directory listing into a Chilkat XML object: CkXml xml = new CkXml(); xml.LoadXml(strXml); // Sort by a record attribute: boolean ascending; ascending = false; xml.SortRecordsByAttribute("lastModTime","full",ascending); // Download the 5 most recent files: int n; n = xml.get_NumChildren(); if (n > 5) { n = 5; } CkXml child; String filename; int i; for (i = 0; i <= n - 1; i++) { child = xml.GetChild(i); filename = child.getChildContent("name"); System.out.println(filename); success = ftp.GetFile(filename,filename); if (success != true) { System.out.println(ftp.lastErrorText()); break; } } // The full sorted XML may be obtained like this: strXml = xml.getXml(); ftp.Disconnect(); } } |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.