ComponentPro UltimateFtp

      FileContentComparer Property

      See AlsoMembers Options: Show AllLanguage Filter: AllSend comments on this topic to ComponentPro
      Compare two files by file contents.

      Syntax

      public static FileComparer FileContentComparer { get; }

      Examples

      FTP Examples

      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();

      SFTP Examples

      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();

      ZIP Examples

      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();

      Framework

      .NET Compact Framework.NET Compact Framework

      Supported version: 2.0, 3.5, and 3.9
      Assembly: ComponentPro.FileSystem.CF (in ComponentPro.FileSystem.CF.dll)

      .NET Framework.NET Framework

      Supported version: 2.0, 3.0, 3.5, 4.0, 4.5.x, 4.6.x and later
      Assembly: ComponentPro.FileSystem (in ComponentPro.FileSystem.dll)

      Portable Class Library for Windows Phone 8.1 and Windows 8.1 Store AppsPortable Class Library for Windows Phone 8.1 and Windows 8.1 Store Apps

      Supported version: 4.6.x and later
      Assembly: ComponentPro.FileSystem.WinPcl (in ComponentPro.FileSystem.WinPcl.dll)

      Universal Windows Platform (includes Windows 10 Mobile, Windows 10 Store Apps and Windows 10 IoT)Universal Windows Platform (includes Windows 10 Mobile, Windows 10 Store Apps and Windows 10 IoT)

      Supported version: 4.6.x and later
      Assembly: ComponentPro.FileSystem.Uwp (in ComponentPro.FileSystem.Uwp.dll)

      Xamarin AndroidXamarin Android

      Supported version: 2.3 and later
      Assembly: ComponentPro.FileSystem.Android (in ComponentPro.FileSystem.Android.dll)

      Xamarin MacXamarin Mac

      Supported version: 2.0.x and later
      Assembly: ComponentPro.FileSystem.Mac (in ComponentPro.FileSystem.Mac.dll)

      Xamarin iOSXamarin iOS

      Supported version: 5.1.x and later
      Assembly: ComponentPro.FileSystem.iOS (in ComponentPro.FileSystem.iOS.dll)

      See Also