background image

Dostęp do 

pliku

background image

Przegląd zagadnień

Definicja pliku
Strumienie - definicja
Strumienie w bibliotece .Net 

Framework
Operacje na pliku - przykład
Operacje na strukturze systemu plików
Podsumowanie
Pytania sprawdzające
Laboratorium 

background image

Definicja pliku

Plik - skończony zbiór danych (informacji) 

przechowywana na dysku, dostępna za pomocą 

nazwy rozszerzonej o ścieżkę dostępu, który 

stanowi dla systemy operacyjnego całość
Atrybuty pliku

tryb dostępu - typ wyliczeniowy FileAccess

Read, ReadWrite, Write

zasady współużytkowania - typ wyliczeniowy 
FileShare

Delete, Inheritable, None, Read, ReadWrite, Write

sposób otwarcia (utworzenia) - typ wyliczeniowy 
FileMode

Append, Create, CreateNew, Open, OpenOrCreate, 

Truncate

background image

Strumienie - definicja

Strumień - pewna warstwa abstrakcyjna, 

umożliwia nam zapis i odczyt danych z 

różnych źródeł
Podstawowe operacje na strumieniach:

czytanie danych (reading)  - pobieranie 
danych ze strumienia i umieszczanie ich w 
pewnej strukturze danych 

zapis danych (writting) - wstawienie danych 
do strumienia z pewnej struktury danych

 ustawienie bieżącej pozycji w strumieniu 
(seeking)

background image

Strumienie w bibliotece .Net 

Framework

Strumienie bezpośrednio podłączone do 

źródła

System.IO.FileStream

System.IO.MemoryStream, 

System.Net.Sockets.NetworkStream

Strumienie pośredniczące

System.Security.Cryptography.CryptoStream, 

System.IO.BufferedStream

Klasy używane do odczytu/zapisu z/do 

strumienia

System.IO.BinaryReader, 

System.IO.BinaryWriter

System.IO.StreamReader, 

System.IO.StreamWriter

background image

Operacje na pliku - przykład

FileStream zrodlo = null, cel = null;

byte [] bufor = new byte[10];

int liczbaBajtow = bufor.Length;

try{

   zrodlo = new FileStream(nazwaZrodlo, FileMode.Open,

 FileAccess.Read, FileShare.Read);

   cel = new FileStream(nazwaCelu, FileMode.Create,

 FileAccess.Write, FileShare.None);

   do{

      liczbaBajtow = zrodlo.Read(bufor, 0, bufor.Length);

      cel.Write(bufor,0,liczbaBajtow);

   }

   while (liczbaBajtow == bufor.Length);

}

catch (IOException ex){

   Console.WriteLine("Problemy z plikiem.\n{0}", ex.Message);

}

finally{

   if (zrodlo != null)

      zrodlo.Close();

   if (cel != null)

     //cel.Flush();  //Close - powinno automatycznie wywołać

      cel.Close();

}

background image

Operacje na strukturze systemu 

plików

Directory

służy do bezpośrednich operacji na plikach i 

katalogach

File

udostępnia metody do operacji na plikach

Path

operacje na tekście zawierającym informacje 

o ścieżce dostępu do pliku lub katalogu

FileSystemWatcher

ustawienie kontroli na pliku lub katalogu

...

background image

Podsumowanie

Definicja pliku
Strumienie - definicja
Strumienie w bibliotece .Net 

Framework
Operacje na pliku - przykład
Operacje na strukturze systemu plików
Podsumowanie
Pytania sprawdzające
Laboratorium 

background image

Pytania sprawdzające

Co to jest plik?
Co to jest strumień?
Obiektów jakich klas użyjesz do 

współpracy z plikami tekstowymi?

background image

Laboratorium

Ćwiczenie 1:

Szyfrowanie pliku

Ćwiczenie 2:

Baza danych


Document Outline