次の方法で共有


LINQ ディレクトリとファイル ディレクトリ (Visual Basic)

多くのファイル システム操作は基本的にクエリであるため、LINQ アプローチに適しています。

このセクションのクエリは非破壊的であることに注意してください。 元のファイルまたはフォルダーの内容を変更するために使用されません。 これは、クエリが副作用を引き起こしてはならないというルールに従います。 一般に、ソース データを変更するコード (作成/更新/削除演算子を実行するクエリを含む) は、データをクエリするだけのコードとは別に保持する必要があります。

このセクションには、次のトピックが含まれています。

方法: 指定した属性または名前を持つファイルを照会する (Visual Basic)
FileInfo オブジェクトの 1 つ以上のプロパティを調べてファイルを検索する方法を示します。

方法: 拡張子でファイルをグループ化する (LINQ) (Visual Basic)
ファイル名拡張子に基づいて FileInfo オブジェクトのグループを返す方法を示します。

方法: フォルダーセット内の合計バイト数を照会する (LINQ) (Visual Basic)
指定したディレクトリ ツリー内のすべてのファイルの合計バイト数を返す方法を示します。

方法: 2 つのフォルダーの内容を比較する (LINQ) (Visual Basic)
指定した 2 つのフォルダーに存在するすべてのファイルと、一方のフォルダーに存在するが、もう一方のフォルダーには存在しないすべてのファイルを返す方法を示します。

方法: ディレクトリ ツリー内の最大のファイルまたはファイル群を検索する (LINQ) (Visual Basic)
ディレクトリ ツリーで、最大または最小のファイル、または指定された数のファイルを返す方法を示します。

方法: ディレクトリ ツリー内の重複するファイルを照会する (LINQ) (Visual Basic)
指定したディレクトリ ツリー内の複数の場所に存在するすべてのファイル名をグループ化する方法を示します。 また、カスタム比較子に基づいてより複雑な比較を実行する方法も示します。

フォルダー内のファイルの内容を照会する方法 (LINQ) (Visual Basic)
ツリー内のフォルダーを反復処理し、各ファイルを開き、ファイルの内容を照会する方法を示します。

コメント

ファイル システムの内容を正確に表し、例外を適切に処理するデータ ソースの作成には複雑さが伴います。 このセクションの例では、指定したルート フォルダーとそのすべてのサブフォルダーにあるすべてのファイルを表す FileInfo オブジェクトのスナップショット コレクションを作成します。 各 FileInfo の実際の状態は、クエリの実行を開始してから終了する間に変化する可能性があります。 たとえば、データ ソースとして使用する FileInfo オブジェクトの一覧を作成できます。 クエリで Length プロパティにアクセスしようとすると、 FileInfo オブジェクトはファイル システムにアクセスして、 Lengthの値を更新しようとします。 ファイルが存在しなくなった場合は、ファイル システムに直接クエリを実行していない場合でも、クエリに FileNotFoundException が表示されます。 このセクションの一部のクエリでは、特定の場合にこれらの特定の例外を使用する別のメソッドを使用します。 もう 1 つのオプションは、 FileSystemWatcherを使用してデータ ソースを動的に更新し続けることです。

こちらも参照ください