###############導入###
この記事では、フォルダー サイズを見積もるための C# プログラムを見ていきます。私たちのコンピューターでは、フォルダーと呼ばれるディレクトリにファイルを保存します。ファイル内に存在するフォルダーのサイズを見積もる方法についても説明します。ファイル サイズを計算するだけでは、目標を達成するのに十分ではありません。代わりに、フォルダーとサブフォルダーのサイズを計算する必要もあります。
次の記事では、フォルダーのサイズを計算する方法を 3 つの部分に分けて説明します。最初に知っておく必要があるのは、フォルダーのサイズを取得する GetFolderSize メソッドです。 2 番目の部分は、サイズを人間が判読できる形式に変換する FormatBytes メソッドです。また、この記事をさらに発展させるために重要となるさまざまなアプローチについても簡単に説明します。###方法###
DirectoryInfo(dir_path)
−
単一ディレクトリ内のすべてのファイルの名前を返します。Length−
ファイルのサイズをバイト単位で返します。GetDirectories() −
このメソッドは、すべてのフォルダー、単一ファイルのサブフォルダー、およびサブディレクトリを返すため、コード内で最もよく機能します。コード内で直接使用されるこれらのメソッドに加えて、出力コンソールを考慮した別の重要なメソッドがあります。
FormatBytes()DirectoryInfo クラスがどのように機能するか、およびコード内での使用についても見ていきます。 ファイルやディレクトリに対してさまざまな操作を実行できるようになります。このクラスを使用して、ファイルを作成、移動、削除できます。これは System.Io 名前空間の下にあります。ファイルを操作するためのメソッドも提供します。 ###アルゴリズム###
ステップ 1− 次に、ループを反復処理し、Length メソッドを使用して各ファイルの長さを計算することにより、すべてのファイルに移動します。
ステップ 3− 次に、ファイル内に存在するサブディレクトリ、サブフォルダー、およびフォルダーが残されていないことを確認する必要があります。
ステップ 4−各ファイルに再帰的に移動し、サブディレクトリ、サブフォルダー、またはフォルダーが含まれているかどうかを確認します。
ステップ 5−ここで、ファイル内に存在する各ファイルの長さを計算し、フォルダーの合計サイズ変数に格納します。
ステップ 6 − ここで、最終的な答えを人間が読める形式に変換するために、必ず format bytes メソッドを使用する必要があります。文字列形式のバイト サイズ。 ステップ 7 −最後に、コンソール機能を使用して答えを出力できます。 時間の複雑さ
上記のコードでは、反復処理する唯一のループが再帰ループであることがわかります。この再帰ループでは、すべてのサブフォルダー、ファイル、ディレクトリ、サブディレクトリ、およびフォルダーに到達するまで繰り返していることがわかります。したがって、時間計算量は O(ファイル サイズ) です。これを除けば、他のすべてのメソッドは一定の時間計算量のみを必要とします。これは、Big-O 表記における O(1) の時間計算量を構成します。したがって、最終的な時間計算量はフォルダーの合計サイズになります。
###結論は###
この記事では、フォルダーのサイズを計算する方法について詳しく説明しました。コードで使用されるさまざまなメソッドとクラスについて学びます。また、ファイル サイズを数えるだけでは結論を導き出すことはできないこともわかりました。また、すべてのフォルダー、ディレクトリ、サブディレクトリ、およびサブフォルダーのサイズを必ず計算する必要があります。コードのアルゴリズム、コード自体、時間計算量についても学びました。この記事が C# の知識を高めるのに役立つことを願っています。
以上がC# プログラムのフォルダー サイズの見積もりの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。