Udostępnij za pośrednictwem


Podstawy operacji we/wy plików .NET Framework i systemu plików (Visual Basic)

Klasy w System.IO przestrzeni nazw służą do pracy z dyskami, plikami i katalogami.

Przestrzeń nazw System.IO zawiera klasy File i Directory, które zapewniają funkcjonalność .NET Framework, służącą do manipulacji plikami i katalogami. Ponieważ metody tych obiektów są statycznymi lub współdzielonymi składowymi, można ich używać bezpośrednio bez tworzenia wystąpienia klasy. Skojarzone z tymi klasami są klasy FileInfo i DirectoryInfo, które będą znane użytkownikom funkcji My. Aby użyć tych klas, należy zaimportować odpowiednie przestrzenie nazw, podając pełną kwalifikację nazw lub dołączając polecenie Imports na początku objętego kodu. Aby uzyskać więcej informacji, zobacz Import Statement (.NET Namespace and Type).

Uwaga / Notatka

Inne tematy w tej sekcji używają My.Computer.FileSystem obiektu zamiast System.IO klas do pracy z dyskami, plikami i katalogami. Obiekt My.Computer.FileSystem jest przeznaczony głównie do użytku w programach Visual Basic. System.IO klasy są przeznaczone do użytku przez dowolny język, który obsługuje program .NET Framework, w tym Visual Basic.

Definicja strumienia

Program .NET Framework używa strumieni do obsługi odczytu z plików i zapisywania ich w plikach. Strumień można traktować jako jednowymiarowy zestaw ciągłych danych, który ma początek i koniec, i gdzie kursor wskazuje bieżącą pozycję w strumieniu.

Kursor pokazuje bieżące położenie w strumieniu plików.

Operacje strumienia

Dane zawarte w strumieniu mogą pochodzić z pamięci, pliku lub gniazda TCP/IP. Strumienie mają podstawowe operacje, które można do nich zastosować:

  • Czytanie. Możesz odczytywać ze strumienia, przesyłając dane ze strumienia do struktury danych, takiej jak ciąg lub tablica bajtów.

  • Pisanie. Możesz zapisywać w strumieniu, przesyłając dane ze źródła danych do strumienia.

  • Szukam. Możesz wykonywać zapytania i modyfikować pozycję w strumieniu.

Aby uzyskać więcej informacji, zobacz Tworzenie strumieni.

Typy strumieni

W programie .NET Framework strumień jest reprezentowany przez Stream klasę, która tworzy klasę abstrakcyjną dla wszystkich innych strumieni. Nie można bezpośrednio utworzyć wystąpienia Stream klasy, ale należy użyć jednej z klas, które implementuje.

Istnieje wiele typów strumieni, ale do celów pracy z wejściem/wyjściem plików najważniejszymi typami są klasa FileStream, która umożliwia odczytywanie z plików i zapis do plików, oraz klasa IsolatedStorageFileStream, która umożliwia tworzenie plików i katalogów w izolowanym magazynie. Inne strumienie, które mogą być używane podczas pracy z operacjami wejścia/wyjścia plików, obejmują:

W poniższej tabeli wymieniono zadania często wykonywane za pomocą strumienia:

Do Zobacz
Odczytywanie i zapisywanie w pliku danych Instrukcje: odczytywanie i zapisywanie w nowo utworzonym pliku danych
Odczytywanie tekstu z pliku Instrukcje: odczytywanie tekstu z pliku
Zapisywanie tekstu w pliku Instrukcje: zapisywanie tekstu w pliku
Odczytywanie znaków z ciągu Instrukcje: odczytywanie znaków z ciągu
Zapisywanie znaków do ciągu Instrukcje: zapisywanie znaków w ciągu
Szyfruj dane Szyfrowanie danych
Odszyfrowywanie danych Odszyfrowywanie danych

Dostęp do plików i atrybuty

Możesz kontrolować sposób tworzenia, otwierania i udostępniania plików za pomocą wyliczeń FileAccess, FileMode i FileShare, które zawierają flagi używane przez konstruktory klasy FileStream. Na przykład, gdy otworzysz lub utworzysz nowy FileStream, wyliczenie FileMode pozwala określić, czy plik jest otwierany do dopisywania, czy jest tworzony nowy plik, jeśli określony plik nie istnieje, czy plik jest zastępowany itd.

Wyliczenie FileAttributes umożliwia zbieranie informacji specyficznych dla pliku. Wyliczenie FileAttributes zwraca przechowywane atrybuty pliku, takie jak kompresowanie, szyfrowanie, ukryte, tylko do odczytu, archiwum, katalog, plik systemowy lub plik tymczasowy.

W poniższej tabeli wymieniono zadania dotyczące dostępu do plików i atrybutów plików:

Do Zobacz
Otwieranie i dołączanie tekstu do pliku dziennika Instrukcje: otwieranie i dołączanie do pliku dziennika
Określanie atrybutów pliku FileAttributes

Uprawnienia do pliku

Kontrolowanie dostępu do plików i katalogów można wykonać za FileIOPermission pomocą klasy . Może to być szczególnie ważne dla deweloperów pracujących z formularzami sieci Web, które domyślnie są uruchamiane w kontekście specjalnego konta użytkownika lokalnego o nazwie ASPNET, które jest tworzone w ramach instalacji ASP.NET i .NET Framework. Gdy taka aplikacja żąda dostępu do zasobu, konto użytkownika ASPNET ma ograniczone uprawnienia, co może uniemożliwić użytkownikowi wykonywanie akcji, takich jak zapisywanie w pliku z aplikacji internetowej. Aby uzyskać więcej informacji, zobacz FileIOPermission.

Izolowany magazyn plików

Izolowane przechowywanie to próba rozwiązania problemów wynikających z pracy z plikami, gdzie użytkownik albo kod może nie mieć niezbędnych uprawnień. Izolowany magazyn przypisuje każdemu użytkownikowi przedział danych, który może zawierać jeden lub więcej magazynów. Sklepy mogą być izolowane od siebie przez użytkownika i przez montaż. Tylko użytkownik i zespół, który utworzył magazyn, mają do niego dostęp. Magazyn działa jako kompletny wirtualny system plików — w jednym magazynie można tworzyć katalogi i pliki oraz manipulować nimi.

W poniższej tabeli wymieniono zadania często skojarzone z izolowanym magazynem plików.

Do Zobacz
Tworzenie izolowanego magazynu Jak uzyskać zasoby dla izolowanej pamięci
Wyliczanie izolowanych magazynów Instrukcje: wyliczanie magazynów dla wydzielonej pamięci masowej
Usuwanie izolowanego magazynu Instrukcje: usuwanie danych z wydzielonej pamięci masowej
Tworzenie pliku lub katalogu w izolowanym magazynie Instrukcje: tworzenie plików i katalogów w wydzielonej pamięci masowej
Znajdowanie pliku w izolowanym magazynie Instrukcje: znajdowanie istniejących plików i katalogów w wydzielonej pamięci masowej
Odczytywanie lub zapisywanie pliku w izolowanym magazynie Instrukcje: odczyt i zapis w plikach w wydzielonej pamięci masowej
Usuwanie pliku lub katalogu w izolowanym magazynie Instrukcje: usuwanie plików i katalogów w wydzielonej pamięci masowej

Zdarzenia plików

Składnik FileSystemWatcher umożliwia obserwowanie zmian w plikach i katalogach w systemie lub na dowolnym komputerze, do którego masz dostęp sieciowy. Jeśli na przykład plik zostanie zmodyfikowany, możesz wysłać użytkownikowi alert o zmianie. W przypadku wystąpienia zmian co najmniej jedno zdarzenie jest wywoływane, przechowywane w buforze i przekazywane do FileSystemWatcher składnika do przetwarzania.

Zobacz także