public class FileContentComparer : IoFileComparer
Shows how to use FileComparers.FileContentComparer for synchronizing a local folder with a folder in an archive.
using ComponentPro.IO; using ComponentPro.Net; ... // Create a new class instance. // Create a new class instance. Ftp client = new Ftp(); // Connect to the FTP server. client.Connect("myserver"); // Authenticate. client.Authenticate("userName", "password"); // Create a new instance of the MirrorOptions class. QuickSyncOptions opt = new QuickSyncOptions(); // Set synchronization's settings // Synchronize files that are different in contents. // Files with the same contents will not be synchronized. opt.Comparer = FileComparers.FileContentComparer; opt.Recursive = true; // Synchronize folders. client.QuickSynchronize( "", // Source directory path within the archive. "" indicates the current directory within the archive. "c:\\test", // Destination directory path. true, // Source directory is master. It means "c:\test" will be identical to the directory within the archive. opt ); // Synchronize files that are different in contents. If the destination file is resumable, the component will append the rest content to the destination file. opt.Comparer = FileComparers.FileContentComparerWithResumabilityCheck; opt.Recursive = true; // Synchronize folders. client.QuickSynchronize( "", // Source directory path within the archive. "" indicates the current directory within the archive. "c:\\test2", // Destination directory path. true, // Source directory is master. It means "c:\test2" will be identical to the directory within the archive. opt ); // That comparer can also be used in Upload and Download operations. TransferOptions transferOptions = new TransferOptions(); // Files with the same data will not be downloaded. transferOptions.Comparer = FileComparers.FileContentComparer; transferOptions.FileOverwriteMode = FileOverwriteMode.CustomCompare; // Download .txt files from the current remote directory. Only files with different data will be downloaded. client.Download("*.txt", "C:\\temp", transferOptions); // Close the connection. client.Disconnect();
Shows how to use FileComparers.FileContentComparer for synchronizing a local folder with a folder in an archive.
using ComponentPro.IO; using ComponentPro.Net; ... // Create a new class instance. // Create a new class instance. Sftp client = new Sftp(); // Connect to the SFTP server. client.Connect("myserver"); // Authenticate. client.Authenticate("userName", "password"); // Create a new instance of the MirrorOptions class. QuickSyncOptions opt = new QuickSyncOptions(); // Set synchronization's settings // Synchronize files that are different in contents. // Files with the same contents will not be synchronized. opt.Comparer = FileComparers.FileContentComparer; opt.Recursive = true; // Synchronize folders. client.QuickSynchronize( "", // Source directory path within the archive. "" indicates the current directory within the archive. "c:\\test", // Destination directory path. true, // Source directory is master. It means "c:\test" will be identical to the directory within the archive. opt ); // Synchronize files that are different in contents. If the destination file is resumable, the component will append the rest content to the destination file. opt.Comparer = FileComparers.FileContentComparerWithResumabilityCheck; opt.Recursive = true; // Synchronize folders. client.QuickSynchronize( "", // Source directory path within the archive. "" indicates the current directory within the archive. "c:\\test2", // Destination directory path. true, // Source directory is master. It means "c:\test2" will be identical to the directory within the archive. opt ); // That comparer can also be used in Upload and Download operations. TransferOptions transferOptions = new TransferOptions(); // Files with the same data will not be downloaded. transferOptions.Comparer = FileComparers.FileContentComparer; transferOptions.FileOverwriteMode = FileOverwriteMode.CustomCompare; // Download .txt files from the current remote directory. Only files with different data will be downloaded. client.Download("*.txt", "C:\\temp", transferOptions); // Close the connection. client.Disconnect();
Shows how to use FileSystem.FileContentComparer for synchronizing a local folder with a folder in an archive.
using ComponentPro.Compression; using ComponentPro.IO; ... // Create a new instance. Zip zip = new Zip(); // Open an existing archive. zip.Open("test.zip"); // Create a new instance of the QuickSyncOptions class. QuickSyncOptions opt = new QuickSyncOptions(); // Set synchronization's settings // Synchronize files that are different in contents. // Files with the same contents will not be synchronized. opt.Comparer = FileComparers.FileContentComparer; opt.Recursive = true; // Synchronize folders. zip.QuickSynchronize( "", // Source directory path within the archive. "" indicates the current directory within the archive. "c:\\test", // Destination directory path. true, // Source directory is master. It means "c:\test" will be identical to the directory within the archive. opt ); // Synchronize files that are different in contents. If the destination file is resumable, the component will append the rest content to the destination file. opt.Comparer = FileComparers.FileContentComparerWithResumabilityCheck; opt.Recursive = true; // Synchronize folders. zip.QuickSynchronize( "", // Source directory path within the archive. "" indicates the current directory within the archive. "c:\\test2", // Destination directory path. true, // Source directory is master. It means "c:\test2" will be identical to the directory within the archive. opt ); // Close the zip file. zip.Close();