rad sa fajlovima i folderima tokovi (strimovi) podataka trajno čuvanje podataka na računaru...
TRANSCRIPT
![Page 1: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/1.jpg)
Osnove programiranja
Rad sa fajlovima i folderima
![Page 2: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/2.jpg)
Sadržaj
Tokovi (strimovi) podataka Tekstualna datoteka Kreiranje izlaznog strima Upis podataka i zatvaranje strima Čitanje podataka iz fajla Putanja fajla Premeštanje, kopiranje i brisanje fajla Kreiranje, premeštanje, brisanje i izlistavanje
foldera
![Page 3: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/3.jpg)
Tokovi (strimovi) podataka
Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi).
Osnovne operacije pri radu sa datotekama su čitanje iz datoteke i upis u nju.
Standardni ulaz obično čine podaci koji se unose sa tastature - omogućen metodom ReadLine.
Standardni izlaz se obično prikazuje na ekranu -omogućen metodom WriteLine.
Pored standardnog izlaza, postoji i standardni izlaz za greške.
![Page 4: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/4.jpg)
Tokovi (strimovi) podataka
Moguće je izvršiti preusmeravanje (redirekciju) standardnog ulaza/izlaza tako da se, umesto sa tastature, karakteri čitaju iz neke datoteke (fajla) ili se upisuju u nju.
C# koristi takozvani tok ili strim (engl. stream) za modelovanje ulaza i izlaza.
Strim je veza između programa i izvora podataka. Podaci se mogu kretati u oba pravca, tako da se
strimovi mogu koristiti i za upis, i za čitanje odgovarajuće datoteke.
![Page 5: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/5.jpg)
Tokovi (strimovi) podataka
Strim je uređena sekvenca bajtova poslata iz jedne aplikacije/ulaznog uređaja drugoj aplikaciji/izlaznom uređaju.
Strim - apstrakcija komunikacionog kanala podataka koji povezuje dva uređaja, tj. dve aplikacije.
Ovi bajtovi se linearno čitaju i pišu, jedan za drugim, i uvek pristižu istim redosledom kako su i poslati.
Svaki put kada se vrši čitanje/upis u odgovarajuću datoteku mora da se otvori strim do te datoteke, izvrši čitanje/upis, a onda se na kraju taj strim mora zatvoriti.
Postoje tekstualni i binarni.
![Page 6: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/6.jpg)
Rad u konzoli – globalni prostor imena
Standardni upis/čitanje sa konzole je implementiran preko Console klase, metodama ReadLine i WriteLine, koje povezuju C# program sa korisnikom (using System). System.Console.WriteLine("Zdravo svima!"); je isto što i Console.WriteLine("Zdravo svima!");
![Page 7: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/7.jpg)
Tekstualna datoteka
U .NET okruženju klase za rad sa strimovimalocirane su u prostoru imena System.IO.
Osnovne klase u prostoru imena System.IO su: Stream (apstraktna osnovna klasa za sve strimove u
.NET okruženju), BufferedStream, FileStream, MemoryStream, GZipStream i NetworkStream.
SM2
![Page 8: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/8.jpg)
Slide 7
SM2 Potrebno je uneti, u globalnom prostoru imena System, komandu: using System.IO;Suzana Marković; 13.5.2019.
![Page 9: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/9.jpg)
Tekstualni strimovi
Glavne klase za rad sa tekstualnim strimovima: TextReader i TextWriter Iz njih se nasleđuju klase StreamReader i
StreamWriter. Njihove najvažnije metode su:
ReadLine() – čita jedan red teksta i vraća string ReadToEnd() – čita ceo strim do kraja i vraća string Write() – upisuje string u strim WriteLine() – upisuje jednu liniju teksta u strim.
![Page 10: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/10.jpg)
Kreiranje izlaznog strima
Kreiranje/otvaranje strima znači njegovo povezivanje sa izvorom podataka.
Strim se kreira korišćenjem ključne reči new. Kreiranjem se definiše i ime tekstualnog fajla
koji se na taj način otvara. StreamWriter sveska;sveska = new StreamWriter("test.txt");
Strim za upis podataka Izlazni fajl
SM1
![Page 11: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/11.jpg)
Slide 9
SM1 Podrazumevano se (ako se drugačije ne naglasi) tekstualni fajl kreira u folderu gde je cs fajl ...Projects/ConsoleApplicationX/ConsoleApplicationX/bin/DebugSuzana Marković; 7.5.2018.
![Page 12: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/12.jpg)
Upis podataka u strim i zatvaranje strima
StreamWriter sveska = new StreamWriter("test.txt");sveska.WriteLine("Pozdravni string");
IzrazpozivametoduWriteLine nastrimu sveska dabiseupisaotekst“Pozdravnistring”unutarfajlatest.txt.
sveska.Close();
Kadaprogramzavršisaupisompodatakaustrim,veomajevažnodaseoneksplicitnozatvorikorišćenjemmetodeClose.
![Page 13: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/13.jpg)
Zatvaranje strima
Ukoliko se strim ne zatvori programski: program će verovatno moći da se završi, ali podaci
koje je korisnik bude uneo neće biti u fajlu; ako program koristi strim za povezivanje sa fajlom,
drugi programi neće moći da ga koriste; neće biti moguće promeniti ime fajlu ili njegovu
lokaciju; otvoren strim troši mali, ali značajan deo resursa
operativnog sistema.
![Page 14: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/14.jpg)
Čitanje podataka iz fajla
Kod čitanja podataka iz fajla program će kreirati strim koji će obaviti to čitanje.
Koristi se strim StreamReader.
StreamReader knjiga = new StreamReader("test.txt"); string red = knjiga.ReadLine(); Console.WriteLine(red); knjiga.Close();
Strim za čitanje podataka
![Page 15: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/15.jpg)
Čitanje celog fajla
StreamReader knjiga = new StreamReader("test.txt"); while (knjiga.EndOfStream == false) { string red = knjiga.ReadLine(); Console.WriteLine(red); } knjiga.Close();
Obratite pažnju na predstavu naših karakterističnih slova u datoteci!!!
![Page 16: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/16.jpg)
Putanja fajla
Ako se prilikom otvaranja nekog fajla ne da lokacija foldera (kao što je dato u slučaju fajla test.txt), sistem tada podrazumeva da se fajl nalazi u istom folderu u kome se nalazi program koji se izvršava.
Da bi se koristio fajl u nekom drugom folderu (što je i najčešći slučaj), tada se imenu fajla moraju dodati i informacije o njegovoj putanji.
string putanja = @"C:\Test\test.txt";
![Page 17: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/17.jpg)
Putanja fajla
string putanja;putanja = @"C:\Test\test.txt";StreamWriter sveska;sveska = new StreamWriter(putanja);sveska.WriteLine("Pozdravni string:");sveska.WriteLine("Zdravo svima!");sveska.Close();
![Page 18: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/18.jpg)
Premeštanje, kopiranje i brisanje fajla
Premeštanje/kopiranje tekstualnog fajla sa jedne lokacije na drugu, kao i brisanje fajla, obavlja se posredstvom klase System.IO.File i odgovarajuće metode: Move - premeštanja fajla sa jedne na drugu putanju Copy – kopiranje fajla sa jedne na drugu putanju Delete – brisanje fajla
![Page 19: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/19.jpg)
Kreiranje, premeštanje, brisanje i izlistavanje foldera
Kreiranje, premeštanje, brisanje i izlistavanjefoldera ostvaruje se posredstvom klaseSystem.IO.Directory i odgovarajuće metode: CreateDirectory - Kreiranje foldera Move - Premeštanje foldera Delete - Brisanje foldera Listanje svih fajlova u folderu obavlja se
posredstvom metode GetFiles i foreach petlje.
![Page 20: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/20.jpg)
Kreiranje, premeštanje, brisanje i izlistavanje foldera
string putanja1 = @"C:\Test\Test1";System.IO.Directory.CreateDirectory(putanja1);string putanja2 = @"C:\Test\Test2";System.IO.Directory.CreateDirectory(putanja2);Console.WriteLine("Kreirani su folderi " + putanja1+ " i " +putanja2);
System.IO.Directory.CreateDirectory(@"C:\Test\Test3");string putanja1 = @"C:\Test\Test3";string putanja2 = @"C:\Test3";Directory.Move(putanja1, putanja2);Console.WriteLine("Folder " + putanja1 + " je premešten u " + putanja2);
string putanja = @"C:\Test3";Directory.Delete(putanja);Console.WriteLine("Folder " + putanja + " je obrisan! ");
string putanja = @"C:\Test\Test2";string[] fajlovi = Directory.GetFiles(putanja); foreach (string s in fajlovi) { Console.WriteLine(s); }
![Page 21: Rad sa fajlovima i folderima Tokovi (strimovi) podataka Trajno čuvanje podataka na računaru ostvaruje se korišćenjem imenovanih objekata koji se nazivaju datoteke (fajlovi). Osnovne](https://reader034.vdocuments.site/reader034/viewer/2022052104/603fde0f740c6c7a5a67a05c/html5/thumbnails/21.jpg)
Premeštanje, kopiranje i brisanje fajla
string putanja1 = @"C:\Test\Test1\test1.txt";string putanja2 = @"C:\Test\Test2\test1.txt";System.IO.File.Move(putanja1, putanja2);Console.WriteLine("{0} fajl je premešten na {1}.", putanja1, putanja2);
string putanja1 = @"C:\Test\Test2\test1.txt";string putanja2 = @"C:\Test\Test1\test1.txt";File.Copy(putanja1, putanja2);Console.WriteLine("{0} fajl je kopiran na {1}.", putanja1, putanja2);
MOVE
COPY
string putanja = @"C:\Test\Test2\test1.txt";File.Delete(putanja);Console.WriteLine("{0} fajl je obrisan!", putanja);
DELETE