Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wiele operacji systemu plików jest zasadniczo zapytań i dlatego dobrze nadaje się do podejścia LINQ.
Należy pamiętać, że zapytania w tej sekcji nie są destruktywne. Nie są one używane do zmiany zawartości oryginalnych plików lub folderów. Jest to zgodne z regułą, że zapytania nie powinny powodować żadnych skutków ubocznych. Ogólnie rzecz biorąc, każdy kod (w tym zapytania wykonujące operatory tworzenia/aktualizowania/usuwania), który modyfikuje dane źródłowe, powinien być oddzielony od kodu, który wykonuje tylko zapytania dotyczące danych.
Ta sekcja zawiera następujące tematy:
Porady: wykonywanie zapytań o pliki o określonym atrybucie lub nazwie (Visual Basic)
Pokazuje, jak wyszukiwać pliki, sprawdzając co najmniej jedną właściwości jej FileInfo obiektu.
Porady: grupowanie plików według rozszerzenia (LINQ) (Visual Basic)
Pokazuje, jak zwracać grupy FileInfo obiektów na podstawie rozszerzenia nazwy pliku.
Porady: wykonywanie zapytań o łączną liczbę bajtów w zestawie folderów (LINQ) (Visual Basic)
Pokazuje, jak zwrócić całkowitą liczbę bajtów we wszystkich plikach w określonym drzewie katalogów.
Porady: porównanie zawartości dwóch folderów (LINQ) (Visual Basic)s
Przedstawia sposób zwracania wszystkich plików znajdujących się w dwóch określonych folderach, a także wszystkich plików znajdujących się w jednym folderze, ale nie w drugim.
Porady: wykonywanie zapytań o największy plik lub pliki w drzewie katalogów (LINQ) (Visual Basic)
Pokazuje, jak zwrócić największy lub najmniejszy plik lub określoną liczbę plików w drzewie katalogów.
Porady: wykonywanie zapytań o zduplikowane pliki w drzewie katalogów (LINQ) (Visual Basic)
Przedstawia sposób grupowania wszystkich nazw plików występujących w więcej niż jednej lokalizacji w określonym drzewie katalogów. Pokazano również, jak wykonywać bardziej złożone porównania na podstawie niestandardowego komparera.
Jak wykonywać zapytania dotyczące zawartości plików w folderze (LINQ) (Visual Basic)
Pokazuje, jak iterować foldery w drzewie, otwierać każdy plik i wykonywać zapytania dotyczące zawartości pliku.
Komentarze
Istnieje pewna złożoność związana z tworzeniem źródła danych, które dokładnie reprezentuje zawartość systemu plików i bezpiecznie obsługuje wyjątki. Przykłady w tej sekcji tworzą kolekcję FileInfo migawek obiektów reprezentujących wszystkie pliki w określonym folderze głównym i wszystkich jego podfolderach. Rzeczywisty stan każdego z nich FileInfo może ulec zmianie w czasie między rozpoczęciem i zakończeniem wykonywania zapytania. Można na przykład utworzyć listę FileInfo obiektów do użycia jako źródło danych. Jeśli spróbujesz uzyskać dostęp do Length właściwości w zapytaniu, FileInfo obiekt spróbuje uzyskać dostęp do systemu plików w celu zaktualizowania wartości Length. Jeśli plik już nie istnieje, otrzymasz element FileNotFoundException w zapytaniu, mimo że nie wysyłasz zapytań bezpośrednio do systemu plików. Niektóre zapytania w tej sekcji korzystają z oddzielnej metody, która konsumuje te specyficzne wyjątki w określonych przypadkach. Inną opcją jest dynamiczne aktualizowanie źródła danych przy użyciu elementu FileSystemWatcher.