DATOTEKE using System IO Tekstovne datoteke Lahko ustvarimo
- Slides: 20
DATOTEKE • • using System. IO; Tekstovne datoteke: – Lahko ustvarimo z Beležnico – Vsebina razdeljena v vrstice – Podobno kot pri branju s tipkovnice in pisanju na ukazno konzolo • Branje / pisanje • Datotečna spremenljivka (npr. dat. Vhod. . . ). Nad to spremenjlivko izvajamo metode (kot beremo z metodo Read. Line z System. Console). . . recimo dat. Vhod. Read. Line() Povezava z dejansko datoteko (c: bla. txt) • Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Ustvarimo datoteko • File. Create. Text(niz) – File. Create. Text("bla. dat"); – File. Create. Text("bla. txt"); – Ustvarimo novo, prazno datoteko. • Pozor: – Če datoteka že obstaja, s tem izgubimo staro vsebino! • Niz opisuje ime datoteke: – Relativno (glede na imenik, kjer se program izvaja): Ø Bla. dat Ø datotekeblo. txt – Absolutno (polno ime datoteke) Ø C: tempbla. txt Ø D: podatki2008januarprvi. Teden. dat Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Zgled using System; using System. IO; public class Program { public static void Main(string[] args) { File. Create. Text("Mojadatoteka. txt"); File. Create. Text("C: bla. txt"); File. Create. Text("C: imenikb. txt"); } } Težave! Morebitne težave tudi tu! Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Odpravljanje težav - ime • Ime datoteke: – "C: \bla. txt" – "C: \imenik\b. txt" • Poseben zapis niza – @"C: bla. txt" – @"C: imenikb. txt" • Znak @ pred nizom pove, da je potrebno vse znake v nizu jemati "dobesedno" • Velja v splošnem, vendar praviloma uporabljamo le pri nizih z imeni datotek Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Zgled - popravljen using System; using System. IO; public class Program { public static void Main(string[] args) { File. Create. Text("Mojadatoteka. txt"); File. Create. Text(@"C: bla. txt"); File. Create. Text("C: \imenik\b. txt"); } } Morebitne težave – če imenika ni! Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Imenik mora obstajati vnaprej Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Obstoj datoteke • • Metoda Create. Text vedno ustvari novo, prazno datoteko Če datoteka obstaja že od prej, izgubimo staro vsebino Preverimo, če datoteka že obstaja File. Exists(ime) – True: datoteka ime že obstaja – False: datoteke ime ni Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Ustvari datoteko, če je ni using System; using System. IO; public class Program { public static void Main(string[] args) { Console. Write("Ime datoteke: "); string ime = Console. Read. Line(); if (File. Exists(ime)) { Console. Write. Line("Datoteka " + ime + " že obstaja!"); } else { File. Create. Text(ime); Console. Write. Line("Datoteko " + ime + " smo naredili!"); } } } Console. Read. Line(); Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Pisanje na datoteko • Datoteke na disku povežemo s podatkovnimi tokovi – Podatkovni tok za pisanje (na datoteko) Stream. Writer – Podatkovni tok za branje z datoteke: Stream. Reader • Create. Text vrne oznako podatkovnega toka • Zgled – Stream. Writer dat. Za. Pisanje; – dat. Za. Pisanje = File. Create. Text("tu. Pisem. txt"); • Pisanje – Write. Line(niz) – Enako kot pri pisanju na konzolo – dat. Za. Pisanje. Write. Line("Nekaj napišimo na datoteko"); Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Zgled public static void Main(string[] args) { Console. Write("Ime datoteke: "); string ime. Datoteke = Console. Read. Line(); Stream. Writer oznaka; oznaka = File. Create. Text(ime. Datoteke); oznaka. Write. Line("Nekaj smo" + " napisali na datoteko!"); } Težava: Ko izvedemo program, je datoteka prazna! Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Close() • • Podatkovni tok je potrebno zapreti Medpomnilnik Hitrejše izvajanje Na koncu izprazniti – Close Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Zgled - popravljen public static void Main(string[] args) { Console. Write("Ime datoteke: "); string ime. Datoteke = Console. Read. Line(); Stream. Writer oznaka; oznaka = File. Create. Text(ime. Datoteke); oznaka. Write. Line("Nekaj smo" + " napisali na datoteko!"); oznaka. Close(); } Datoteka ni več prazna! Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Zgled: 100 vrstic • Napišimo sedaj program, ki bo v datoteko Sto. Vrstic. txt zapisal 100 vrstic, denimo takih: 1. vrstica, 2. vrstica, . . . , 100. vrstica • Naloga je enostavna: – Ustvarimo datoteko Sto. Vrstic. txt in jo poveženo z pisalnim podatkovnim tokom – V zanki izpišemo števec in besedilo ". vrstica" • Nato. . . – Nič! To je vse. public static void Main(string[] args) { Stream. Writer oznaka; oznaka = File. Create. Text(@"c: tempSto. Vrstic. txt"); for (int i = 1; i <= 100; i++) { oznaka. Write. Line(i + ". vrstica"); } } Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
100 vrstic Konec manjka! Pozabljen Close()! Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Branje • Tok za branje – Stream. Reader • Datoteko odpremo za branje – Mora že obstajati! Ø metoda Open. Text Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Izpis datoteke public static void Izpis. Datoteke(string ime) { Console. Write. Line("Na datoteki " + ime + " piše: nnn"); // odpremo datoteko za branje Stream. Reader izh. Tok; izh. Tok = File. Open. Text(ime); // preberemo prvo vrstico in jo izpišemo na zaslon Console. Write. Line(izh. Tok. Read. Line()); // preberi z datoteke naslednji dve vrstici in ju izpiši na zaslon Console. Write. Line(izh. Tok. Read. Line()); // preberi preostale vrstice Console. Write. Line(izh. Tok. Read. To. End()); // zaprimo tok izh. Tok. Close(); } Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Metodi Read. Line in Read. To. End • Ko odpremo tekstovno datoteko za branje: – Kazalec tekoče vrstice • Read. Line() – Prebere tekočo vrstico • Read. To. End() – Prebre tekočo vrstico in vse vrstice do konca datoteke • Obe metodi vrneta podatek tipa string. • Konec datoteke – Če vrstice ni več, metoda Read. Line() vrne vrednost null – Če izpišemo niz z vrednostju null, se izpiše kot prazen niz • Pozor! null != "" Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Zgled: izpiši celotno datoteko na zaslon public static void Izpis. Datoteke 2(string ime) { Stream. Reader izh. Tok; izh. Tok = File. Open. Text(ime); // preberemo prvo vrstico string vrstica = izh. Tok. Read. Line(); while (vrstica != null) {// do konca datoteke Console. Write. Line(vrstica); vrstica = izh. Tok. Read. Line(); } // zaprimo tok izh. Tok. Close(); } Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Branje po znakih • Metoda Read() – Vrne int – Koda znaka 1. public static void Izpis. Datoteke. Po. Znakih(string ime) { 2. Stream. Reader s = File. Open. Text(ime); 3. int beri; 4. beri = s. Read(); 5. while (beri != -1) // konec datoteke 6. { 7. Console. Write((char)beri); 8. // izpisujemo ustrezne znake 9. beri = s. Read(); 10. } 11. s. Close(); 12. } Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Iz vrstic v podatke • Read. Line() vrne podatke tipa string • Pretvoriti v število – int. Parse(niz) – double. Parse(niz) – Pogoj Ø V nizu (vrstici) samo to število • Vrstica: – 23 5 78 – Kako izluščiti vsa tri števila • Metoda Split Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Split(tab. Locil) string info = "matija; lokar; cesta na klanec 20 a; 4000; Kranj; Slovenija"; string[] tab. Info; //dolocimo znake, ki predstavljajo locila med podatki char[] locila = {'; '}; // mi smo za locilo vzeli le ; tab. Info = info. Split(locila); for(int x = 0; x < tab. Info. Length; x++) { Console. Write. Line(tab. Info[x]); } Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
- Lastnosti snovi se lahko spreminjajo
- Nekatere snovi lahko pretakamo
- Using system.collections.generic
- Mape i datoteke vježba
- Programske datoteke
- Datoteke python
- što je znakovna datoteka
- Komprimiranje datoteke
- Informatika 5 razred mape i datoteke
- Znakovna datoteka
- Programske datoteke
- Defrost using internal heat is accomplished using
- Closed open and isolated systems
- Digestive system respiratory system and circulatory system
- Solve a system of equations using elimination
- Load control system using dtmf
- Embedded microprocessor system design using fpgas
- Thyristor applications and circuits
- Payroll system using polymorphism in java
- Solve a system of equations using elimination
- Digital systems design using verilog