paulo's picture
From paulo rss RSS  subscribe Subscribe

PB.NET II (System.IO) 

 

 
 
Tags:  iOS 
Views:  76
Published:  November 18, 2011
 
0
download

Share plick with friends Share
save to favorite
Report Abuse Report Abuse
 
Related Plicks
How to Jailbreak IOS 4.1 with limera1n

How to Jailbreak IOS 4.1 with limera1n

From: anon-165354
Views: 280 Comments: 0

 
How to Jailbreak Iphone 4 IOS 4.1 with limera1n

How to Jailbreak Iphone 4 IOS 4.1 with limera1n

From: anon-165354
Views: 353 Comments: 0
How to Jailbreak Iphone 4 IOS 4.1 with limera1n
 
Conferencia Desarrollo de Aplicaciones iOS (Ecuador)

Conferencia Desarrollo de Aplicaciones iOS (Ecuador)

From: anon-550003
Views: 35 Comments: 0

 
Expert App Store Marketing Manual. How it works.

Expert App Store Marketing Manual. How it works.

From: ComboApp
Views: 440 Comments: 0
Expert App Store Marketing manual serves as a guide to help iOS developer to build an effective app launching strategy
 
VARIOUS ARTISTS|SANREMO 1961|IO AMO TU AMI NELLY FIORAVANTI

VARIOUS ARTISTS|SANREMO 1961|IO AMO TU AMI NELLY FIORAVANTI

From: anon-338286
Views: 538 Comments: 0
VARIOUS ARTISTS|SANREMO 1961|IO AMO TU AMI NELLY FIORAVANTI
listen music free
VARIOUS ARTISTS|SANREMO 1961|IO AMO TU AMI NELLY FIORAVANTI
gospel music lyrics (more)

 
See all 
 
More from this user
19.10.2009, Géhard Lehmann: Indsigelse Akt nr. 37, alternativer, projektets indhold

19.10.2009, Géhard Lehmann: Indsigelse Akt nr. 37, alternativer, projektets indhold

From: paulo
Views: 356
Comments: 0

Tu Huida De GraduacióN A CancúN

Tu Huida De GraduacióN A CancúN

From: paulo
Views: 524
Comments: 0

JustGiving research @ IoF Insights Annual Conference 2009

JustGiving research @ IoF Insights Annual Conference 2009

From: paulo
Views: 678
Comments: 0

car max 2004ar

car max 2004ar

From: paulo
Views: 383
Comments: 0

[Finance]How To Get The Best Rates On Automobile Insurance In Florida 18829

[Finance]How To Get The Best Rates On Automobile Insurance In Florida 18829

From: paulo
Views: 281
Comments: 0

Documents About [Cheapest Loan]

Documents About [Cheapest Loan]

From: paulo
Views: 264
Comments: 0

See all 
 
 
 URL:          AddThis Social Bookmark Button
Embed Thin Player: (fits in most blogs)
Embed Full Player :
 
 

Name

Email (will NOT be shown to other users)

 

 
 
Comments: (watch)
 
 
Notes:
 
Slide 1: Wykład II: Wejścia i wyjścia (System.IO) Karim Agha Karol Rogowski Adam Rafałko
Slide 2: Co dziś omówimy ? Operacje na plikach używając klas zawartych w System.IO.  Strumienie.  Jak używać klas Reader i Writer.  Kompresja danych.  Isolated Storage.  Projekt Grupy PB.NET 
Slide 3: Co powinniśmy już umieć ? Utworzyć nowy projekt konsolowy w Microsoft Visual Studio dla C# lub VB.  Dodać referencję do projektu.  Utworzyć plik tekstowy. 
Slide 4: Nawigacja po systemie plików  System.IO zawiera takie klasy które pozwalają na nawigację i manipulację plików:  Klasy Informacyjne (FileInfo, DirectoryInfo)  Klasy narzędziowe (File, Directory, Path)
Slide 5: Klasy Informacyjne Dziedziczą po FileSystemInfo.  Klasy te nazywają się:   FileInfo  DirectoryInfo  DriveInfo*  Służą głównie do pozyskiwania informacji o plikach, katalogach lub dyskach.
Slide 6: Klasy Informacyjne cd. Właściwość Attributes CreationTime Exists Extension FullName LastAccessTime LastWriteTime Name Opis Zwraca objekt FileAttributes dla danego pliku lub katalogu. Date utworzenia pliku/katalogu. Informuje o tym czy plik/katalog istnieje. Rozszerzenie. Pełna ścieżka do pliku/katalogu. Data ostatniego odczytu. Data ostatniego zapisu Prosta nazwa: plik: C:\Program Files\PB.NET\plik.txt: ->plik.txt katalog: C:\Program Files\PB.NET\ ->PB.NET Najważniejsze właściwości klasy FileSystemInfo.
Slide 7: Klasy Informacyjne Metoda Delete Refresh Opis Kasowanie pliku/katalogu. Odświerza dane w klasie o pliku/katalogu. Jak juz mówilismy, po FileSystemInfo, dziedziczą: • FileInfo: FileInfo jest klasa która pozwala na manipulacje plikiem.
Slide 8: FileInfo Właściwość Directory DirectoryName IsReadOnly Length Opis Zwraca DirectoryInfo dla ktalogu w którym znajduję sie plik. Nazwa katalogu w którym znajduję sie plik Sprawdzenie lub przypisanie atrybutu read-only. Rozmiar pliku
Slide 9: FileInfo Metoda AppendText CopyTo Create CreateText Encrypt Decrypt MoveTo Open OpenRead OpenText OpenWrite Replace Opis Tworzy StreamWriter który pozwala na dpisanie tektu do pliku. Tworzy kopie pliku w wybranej lokalizacji Tworzy nowy plik Tworzy nowy StreamWriter oraz nowy plik do zapisu. Szyfruje plik danego użytkownika Odszyfruje plik Przenosi plik w nowe miejsce. (Cut-Paste) Otwiera plik z zestawem wybranych uprawnień Otwiera plik tylko do odczytu Otwiera plik i zwraca StreamReader pozwalający na odczyt tekstu z pliku. Otwiera plik tylko do zapisu Podmienia plik
Slide 10: Jak odczytać informacje o pliku? Aby uzyskać informacje o konkretnym pliku należy:  Utworzyć nowy objekt FileInfo podając ścieżkę dostępu do pliku.  Reszta będzie już w utworzonym obiekcie.
Slide 11: Przykład: FileInfo ourFile = new FileInfo(@"c:\boot.ini "); if (ourFile.Exists) { Console.WriteLine("Filename : {0}",ourFile.Name); Console.WriteLine("Path : {0}",ourFile.FullName); } Kopiowanie? FileInfo ourFile = new FileInfo(@"c:\boot.ini"); ourFile.CopyTo(@"c:\boot.bak");
Slide 12: DirectoryInfo  Jest to klasa która pozwala na manipulacje katalogiem. Najważniejsze właściwości: Właściwość Parent Root Opis Zwraca objekt DirectoryInfo dla katalogu który zawiera nasz katalog (rodzica) Zwraca bazowego rodzica (string)
Slide 13: DirectoryInfo Najważniejsze metody: Metoda Create CreateSubdirectory GetDirectories GetFiles GetFileSysytemInfos MoveTo Opis Tworzy nowy katalog Tworzy nowy katalog ktorego rodzicem jest aktualny katalog Zwraca tablice z katalogami w danym katalogu Zwraca tablice z plikami w danym katalogu Zwraca tablice z objektami FileSystemInfo dla kazdego pliku/katalogu w danym katalogu. Przenosi plik.
Slide 14: Jak przeszukac pliki w katalogu? Tworzymy objekt DirectoryInfo wskazujacy na katalog który chcemy przeszukać.  Wywołujemy metodę GetFiles. Przykład:  DirectoryInfo ourDir = new DirectoryInfo(@"c:\windows"); Console.WriteLine("Directory: {0}", ourDir.FullName); foreach (FileInfo file in ourDir.GetFiles()) { Console.WriteLine("File: {0}", file.Name); }
Slide 15: DriveFormat  DriveFormat pozwala na pozyskiwanie onformacji o dyskach. Opis Ilość wolnego dostępnego miejsca na dysku. Zwraca format dysku (NTFS, FAT32, etc..) Typ dysku (opisane poźniej) Sprawdza czy dysk jest gotowy do odczytu/zapisu Nazwa dysku (literka) Objekt DirectoryInfo dla tego dysku Całkowitą wolną powierzchnie na dysku Całkowity rozmiar dysku Nazwa dysku Właściwość AvailableFreeSpace DriveFormat DriveType IsReady Name RootDirectory TotalFreeSpace TotalSize VolumeLabel
Slide 16: DriveInfo  Metody DriveFormat:  GetDrives: metoda statyczna, zwraca wszystkie dyski w komputerze.  DriveType to enumeracja opisująca typ dysku: CDRom, Fixed, Network, NoRootDirectory, Ram, Removable, Unknown
Slide 17: Jak odczytać dyski? Wywołać statyczna metoda GetDrives.  Iterować przez zwróconą tablice DriveInfo.  DriveInfo[] drives = DriveInfo.GetDrives(); foreach (DriveInfo drive in drives) { Console.WriteLine("Drive: {0}", drive.Name); Console.WriteLine("Type: {0}", drive.DriveType); }
Slide 18: Klasa Path Pozwala na manipulacje Ścieżkami  Statyczne metody:               ChangeExtension Combine GetDirectoryName GetExtension GetFileName GetFileNameWIthoutExtension GetFillPath GetPathRoot GetRandomFileName GetTempFileName GetTempPath HasExtension IsPathRooted
Slide 19: Jak zmienić rozszerzenie pliku? string ourPath = @"c:\boot.ini"; Console.WriteLine(ourPath); Console.WriteLine("Ext: {0}", Path.GetExtension(ourPath)); Console.WriteLine("Change Path: {0}", Path.ChangeExtension(ourPath, "bak"));
Slide 20: FileSystemWatcher Pozwala monitorować system plików.  Właściwości:   EnableRisingEvents  Filter  IncludeSubdirectories  NotifyFilter  Path
Slide 21: Jak monitorować katalog? Otworzyć nowy FileSystemWatcher.  Ustalić Path.  Zapisać sie do eventów Creader i Deleted.  Włączyć eventy poprzez ustawienie EnableRisingEvents na true. 
Slide 22: Przykład FileSystemWatcher FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = @"c:\"; watcher.Created += new FileSystemEventHandler(watcher_Changed); watcher.Deleted += new FileSystemEventHandler(watcher_Changed); watcher.EnableRaisingEvents = true; static void watcher_Changed(object sender, FileSystemEventArgs e) { Console.WriteLine("Directory changed({0}): {1}", e.ChangeType, e.FullPath); }
Slide 23: Lab:Przeszukiwanie pl ików i ich monitorowanie.  Na tym Lab, przeszukamy pliki i katalogi w danym katalogu i bedziemy monitorowac czy jakikolwiek z tych plikow lub katalogów zmienił sie.
Slide 24: Strumienie Jest to sposob na prace z danymi w .NET Framework.  Wszystkie strumienie dziedzicza z abstrakcyjnej klasy Stream.  Klasa stream zawiera właściwości takie jak: CanRead, CanSeek, CanTimeout, CanWrite, Length, Position, ReadTimeout, WriteTimeout. 
Slide 25: Strumienie Klasa Stream posiada metody takie jak: Close, Flush, Read, ReadByte, Seek, SetLength, Write, WriteByte.  Klasy które dziedziczą po klasie Stream to miedzy innymi: FileStream, MemoryStream, CryptoStream, NetworkStream, GZipStream. 
Slide 26: Jakie klasy pozwalaja na odczyt i zapis danych ? Wiekszość operacji na plikach zaczyna sie od klasy File.  Klasa File pozwala na:   Operacje zapisu i odczytu calego pliku,  Otwieranie, tworzenie plików do odczytu.  Otwieranie, tworzenie plików do zapisu.  Proste operacje (File.Exists, File.Delete, ...)
Slide 27: Strumienie – File    Klasa do strumieniowego zapisu danych na plikach nazywa sie FileStream. Klasa File posiada podstawowe operacje do otwierania plików w FileStream do zapisu lub odczytu. Metody statyczne w File: AppendAllText, AppendText, Copy, Create, CreateText, Move, Open, OpenRead, OpenText, ReadAllBytes, ReadAllLines, ReadAllText, WriteAllBytes, WriteAllLines, WriteAllText.
Slide 28: Strumienie - Directory Klasa Directory jest klasą statyczną.  Posiada metody służące do manipulacji katalogów takie jak: CreateDirectory, Delete, Exists, GetCreationTime, GetCurrentDirectory, GetDiretiries, GetDirectoryRoot, GetFiles, GetFileSystemEntries 
Slide 29: Strumienie FileAccess, enumeracja która ustala poziom uprawnień potrzebnych do otwarcia pliku. (Read, Write, ReadWrite)  FileMode, enumeracja która ustala jak dany plik ma być otwarty. (Append, Create, CreateNew, Open, OpenOrCreate, Truncate). 
Slide 30: FileStream Klasa FileStream otwiera pliki do zapisu lub odczytu.  Najważniejsze właściwości to te które dziedziczy po Stream w dodawtku do kilka innych takich jak: Handle, Name.  Najważniejsze metody to też te które dziedziczy po Stream w dodatku do: Lock, Unllock. 
Slide 31: StreamReader Klasa StreamReader pozwala na udczyt danych ze Strumienia.  Najważniejsze właściwości to: BaseStream, CurrentEncoding, EndOfStream.  Najważniejsze metody to: Close, Peek, Read, ReadBlock, ReadLine, ReadToEnd. 
Slide 32: Jak czytać z pliku ? FileStream theFile = File.Open(@"C:\boot.ini", FileMode.Open, FileAccess.Read); Metoda File.Open() zwraca objekt FileStream z otwartym juz plikiem, Jednak używanie klasy FileStream bezposrednio czasem bywa niewygodne. Dlatego warto użyć klasy StreamReader. StreamReader rdr = new StreamReader(theFile); Console.Write(rdr.ReadToEnd()); rdr.Close(); theFile.Close(); Na skróty: Console.WriteLine(File.ReadAllText(@"C:\boot.ini"));
Slide 33: StreamWriter Pozwala na zapisywanie danych w strumieniu.  Najważniejsze właściwości to: AutoFlush, BaseStream, Encoding i NewLine.  Najważniejsze metody to: Close, Write i WriteLine. 
Slide 34: StreamWriter StreamWriter writer = new StreamWriter(theFile); writer.WriteLine("Hello"); writer.Close(); theFile.Close(); StreamWriter writer =File.CreateText(@"c:\somefile.txt"); writer.WriteLine("Hello"); writer.Close(); Na skróty: File.WriteAllText(@"c:\somefile.txt", "Hello");
Slide 35: Alternatywy StreamWriter writer = new StreamWriter(theFile); StreamWriter writer =File.CreateText(@"c:\somefile.txt"); File.WriteAllText(@"c:\somefile.txt", "Hello"); theFile = File.Open(@"c:\somefile.txt", FileMode.Open, FileAccess.Write); theFile = File.OpenWrite(@"c:\somefile.txt"); theFile = File.Open(@"c:\somefile.txt", FileMode.OpenOrCreate, FileAccess.Write);
Slide 36: Reader i Writer Klasy *Reader i *Writer maja za zadnie ułatwić czytanie danych strumieniowych. StreamReader dziedziczy po TextReader a StreamWriter dziedziczy po TextWriter.
Slide 37: Dane Binarne Nie wszystkie dane są tekstowe.  Do odczytu danych binarnych używamy BinaryReader.  Do zapisu danych binarnych używamy BinaryWriter. 
Slide 38: Dane Binarne Przykład (zapis): FileStream newFile = File.Create(@"c:\somefile.bin"); BinaryWriter writer = new BinaryWriter(newFile); long number = 100; byte[] bytes = new byte[] { 10, 20, 50, 100 }; string s = "hunger"; writer.Write(number); writer.Write(bytes); writer.Write(s); writer.Close();
Slide 39: Dane Binarne Przykład (otczyt): FileStream newFile = File.Open(@"c:\somefile.bin", FileMode.Open); BinaryReader reader = new BinaryReader(newFile); long number = reader.ReadInt64(); byte[] bytes = reader.ReadBytes(4); string s = reader.ReadString(); reader.Close(); Console.WriteLine(number); foreach (byte b in bytes) Console.Write("[{0}]", b); Console.WriteLine(); Console.WriteLine(s);
Slide 40: Inne typy strumieni MemoryStream – zapis i odczyt bezposrednio do pamięci RAM.  BufferedStream – poprawia czasem wydajność zapisu strumieni poprzez buforowanie danych. 
Slide 41: Kompresja danych W .NET Framework, kompresja danych opiera się o Strumienie Kompresujące.  Strumienie kompresujące to: GZipStream i DeflateStream.  Dane które będziemy kompresować są limitowane do 4 GB. 
Slide 42: GZipStream Klasa GZipStream pozwala na kompresję danych znajdujących się w innym strumieniu używając metody GZIP.  GZipStream dziedziczy po Stream. 
Slide 43: DeflateStream Pozwala na kompresję danych używając metody Deflate.  Również bazuję na Stream. 
Slide 44: Jak kompresować dane? Kompresja w .NET bazuję na strumieniach, są to jednak innego typu strumienie niż omawiane do tej pory. Strumienie kompresujące zapisuja skompresowane dane do innych strumieni. Przykład: FileStream sourceFile = File.OpenRead(inFilename); FileStream destFile = File.Create(outFilename); GZipStream compStream = new GZipStream(destFile, CompressionMode.Compress); int theByte = sourceFile.ReadByte(); while (theByte != -1) { compStream.WriteByte((byte)theByte); theByte = sourceFile.ReadByte(); }
Slide 45: Isolated Storage Co to jest Isolated Storage?  Klasa IsolatedStorageFile  Rodzaje Isolated Storage  Klasa IsolatedStorageFileStream 
Slide 46: Jak tworzyć Isolated Storage?  Zdecydować jaki typ IS potrzebujemy. IsolatedStorageFile machineStorage = IsolatedStorageFile.GetMachineStoreForAssembly() ; IsolatedStorageFile userStorage = IsolatedStorageFile.GetUserStoreForAssembly();
Slide 47: Czytanie i zapis do IS IsolatedStorageFile userStore = IsolatedStorageFile.GetUserStoreForAssembly(); IsolatedStorageFileStream userStream = new IsolatedStorageFileStream("UserSettings.set", FileMode.Create, userStore); StreamWriter userWriter = new StreamWriter(userStream); userWriter.WriteLine("User Prefs"); userWriter.Close(); IsolatedStorageFileStream userStream = new IsolatedStorageFileStream("UserSettings.set", FileMode.Open, userStore);

   
Time on Slide Time on Plick
Slides per Visit Slide Views Views by Location