Represents file size comparer.

      Syntax

      public class FileSizeComparer : FileComparer

      Examples

      FTP Examples

      Shows how to use FileComparers.FileSizeComparer in a Mirror operation.

      using ComponentPro.IO;
      using ComponentPro.Net;
      
      ...
      
      // 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 Mirror settings 
      // Synchronize files with different file size. 
      // Files with the same size will not be synchronized.
      opt.Comparer = FileComparers.FileSizeComparer;
      opt.Recursive = true;
      
      // Mirror folders.
      client.QuickSynchronize(
          "", // Source directory path. "" indicates the current directory within the archive. 
          "c:\\test", // Destination directory path.                 
          true, // Source directory is master. It means contents of "c:\test" will be identical to the current remote directory's. 
          opt
          );
      
      // That comparer can also be used in Upload and Download operations.
      TransferOptions transferOptions = new TransferOptions();
      // Files with the same length will not be downloaded.
      transferOptions.Comparer = new ComponentPro.IO.FileLastWriteTimeComparer(TimeResolution.Seconds);
      transferOptions.FileOverwriteMode = FileOverwriteMode.CustomCompare;
      // Download .txt files from the current remote directory.
      client.Download("*.txt", "C:\\temp", transferOptions);
      
      // Close the connection.
      client.Disconnect();

      SFTP Examples

      Shows how to use FileComparers.FileSizeComparer in a Mirror operation.

      using ComponentPro.IO;
      using ComponentPro.Net;
      
      ...
      
      // 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 Mirror settings 
      // Synchronize files with different file size. 
      // Files with the same size will not be synchronized.
      opt.Comparer = FileComparers.FileSizeComparer;
      opt.Recursive = true;
      
      // Mirror folders.
      client.QuickSynchronize(
          "", // Source directory path. "" indicates the current directory within the archive. 
          "c:\\test", // Destination directory path.                 
          true, // Source directory is master. It means contents of "c:\test" will be identical to the current remote directory's. 
          opt
          );
      
      // That comparer can also be used in Upload and Download operations.
      TransferOptions transferOptions = new TransferOptions();
      // Files with the same length will not be downloaded.
      transferOptions.Comparer = new ComponentPro.IO.FileLastWriteTimeComparer(TimeResolution.Seconds);
      transferOptions.FileOverwriteMode = FileOverwriteMode.CustomCompare;
      // Download .txt files from the current remote directory.
      client.Download("*.txt", "C:\\temp", transferOptions);
      
      // Close the connection.
      client.Disconnect();

      ZIP Examples

      Shows how to use FileSystem.FileSizeComparer 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 with different file size. 
      // Files with the same size will not be synchronized.
      opt.Comparer = FileComparers.FileSizeComparer;
      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
          );
      
      // Close the zip file.
      zip.Close();

      Inheritance Hierarchy

            ComponentPro.IO.ComponentPro.IO.FileSizeComparer

      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