ComponentPro UltimateFtp

      GetDirectorySize(String, Boolean) Method

      See AlsoMembers Options: Show AllLanguage Filter: AllSend comments on this topic to ComponentPro
      Returns total size of the specified directories.

      Syntax

      public virtual long GetDirectorySize(
         string directoryPath, 
         bool recursive
      )

      Parameters

      directoryPath
      The directory path to calculate.
      recursive
      true to search for files and directories in the specified directory and subdirectories; otherwise, false to scan for files in the specified directory only.

      Return Value

      The directory size in bytes.

      Examples

      FTP Examples

      Shows how to use GetDirectorySize method to calculate total size of a directory.

      using System;
      using ComponentPro.Net;
      using ComponentPro.IO;
      
      ...
      
      void CalculateDirSize()
      {
          // Create a new class instance. 
          Ftp client = new Ftp();
      
          // Connect to the FTP server. 
          client.Connect("myserver");
      
          // Authenticate. 
          client.Authenticate("userName", "password");
      
          // ... 
       
          // Calculate total size of an entire directory. 
          long totalSize = client.GetDirectorySize("/myFolder", true, null);
          Console.WriteLine("Calculate total size for all files: " + FormatSize(totalSize));
      
          // Calculate total size for files with extension .dat. 
          totalSize = client.GetDirectorySize("/myFolder", true, "*.dat");
          Console.WriteLine("Calculate total size for all .dat files: " + FormatSize(totalSize));
      
          // Calculate total size for files that are bigger than 100kb. 
          totalSize = client.GetDirectorySize("/myFolder", true, new SizeSearchCondition(100 * 1024, long.MaxValue));
          Console.WriteLine("Total size: " + FormatSize(totalSize));
      
          // ... 
       
          // Disconnect. 
          client.Disconnect();
      }
      
      /// <summary> 
      /// Returns a formatted file size in bytes, kbytes, or mbytes. 
      /// </summary> 
      /// <param name="size">The input file size.</param> 
      /// <returns>The formatted file size.</returns> 
      public string FormatSize(long size)
      {
          if (size < 1024)
              return size + " B";
          if (size < 1024 * 1024)
              return string.Format("{0:#.#} KB", size / 1024.0f);
          return size < 1024 * 1024 * 1024 ? string.Format("{0:#.#} MB", size / 1024.0f / 1024.0f) : string.Format("{0:#.#} GB", size / 1024.0f / 1024.0f / 1024.0f);
      }

      SFTP Examples

      Shows how to use GetDirectorySize method to calculate total size of a directory.

      using System;
      using ComponentPro.Net;
      using ComponentPro.IO;
      
      ...
      
      void CalculateDirSize()
      {
          // Create a new class instance. 
          Sftp client = new Sftp();
      
          // Connect to the SFTP server. 
          client.Connect("myserver");
      
          // Authenticate. 
          client.Authenticate("userName", "password");
      
          // ... 
       
          // Calculate total size of an entire directory. 
          long totalSize = client.GetDirectorySize("/myFolder", true, null);
          Console.WriteLine("Calculate total size for all files: " + FormatSize(totalSize));
      
          // Calculate total size for files with extension .dat. 
          totalSize = client.GetDirectorySize("/myFolder", true, "*.dat");
          Console.WriteLine("Calculate total size for all .dat files: " + FormatSize(totalSize));
      
          // Calculate total size for files that are bigger than 100kb. 
          totalSize = client.GetDirectorySize("/myFolder", true, new SizeSearchCondition(100 * 1024, long.MaxValue));
          Console.WriteLine("Total size: " + FormatSize(totalSize));
      
          // ... 
       
          // Disconnect. 
          client.Disconnect();
      }
      
      /// <summary> 
      /// Returns a formatted file size in bytes, kbytes, or mbytes. 
      /// </summary> 
      /// <param name="size">The input file size.</param> 
      /// <returns>The formatted file size.</returns> 
      public string FormatSize(long size)
      {
          if (size < 1024)
              return size + " B";
          if (size < 1024 * 1024)
              return string.Format("{0:#.#} KB", size / 1024.0f);
          return size < 1024 * 1024 * 1024 ? string.Format("{0:#.#} MB", size / 1024.0f / 1024.0f) : string.Format("{0:#.#} GB", size / 1024.0f / 1024.0f / 1024.0f);
      }

      ZIP Examples

      Shows how to use GetDirectorySize method to calculate total size of a directory.

      using System;
      using ComponentPro.Compression;
      using ComponentPro.IO;
      
      ...
      
      void CalculateDirSize()
      {
          // Create a new instance. 
          Zip zip = new Zip();
      
          // Open an existing archive. 
          zip.Open("test.zip");
      
          // ... 
       
          // Calculate total size of an entire directory. 
          long totalSize = zip.GetDirectorySize("/myFolder", true, null);
          Console.WriteLine("Calculate total size for all files: " + FormatSize(totalSize));
      
          // Calculate total size for files with extension .dat. 
          totalSize = zip.GetDirectorySize("/myFolder", true, "*.dat");
          Console.WriteLine("Calculate total size for all .dat files: " + FormatSize(totalSize));
      
          // Calculate total size for files that are bigger than 100kb. 
          totalSize = zip.GetDirectorySize("/myFolder", true, new SizeSearchCondition(100 * 1024, long.MaxValue));
          Console.WriteLine("Total size: " + FormatSize(totalSize));
      
          // ... 
       
          // Close the archive. 
          zip.Close();
      }
      
      /// <summary> 
      /// Returns a formatted file size in bytes, kbytes, or mbytes. 
      /// </summary> 
      /// <param name="size">The input file size.</param> 
      /// <returns>The formatted file size.</returns> 
      public string FormatSize(long size)
      {
          if (size < 1024)
              return size + " B";
          if (size < 1024 * 1024)
              return string.Format("{0:#.#} KB", size / 1024.0f);
          return size < 1024 * 1024 * 1024 ? string.Format("{0:#.#} MB", size / 1024.0f / 1024.0f) : string.Format("{0:#.#} GB", size / 1024.0f / 1024.0f / 1024.0f);
      }

      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