Fitxategiak

532 views

Published on

Programazioa II (2012): 2. gaia

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
532
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Fitxategiak

  1. 1. Fitxategiak ´ Aitor Gomez-Goiriaitor.gomez@deusto.es Deustuko Unibertsitatea Ingeniaritza fakultatea http://www.deusto.es 2012/02/15
  2. 2. Aurkezpena 1 Zer dira fitxategiak? 2 Fitxategiak, zertarako? 3 Zer motako fitxategiak daude? 4 Fitxategien erabilera Fitxategi idazketa Fitxategi irakurketa
  3. 3. Aurkezpena 1 Zer dira fitxategiak? 2 Fitxategiak, zertarako? 3 Zer motako fitxategiak daude? 4 Fitxategien erabilera
  4. 4. Zer dira fitxategiak? Fitxategi bat euskarri batean (disko gogorra, Cda, pendrivea,...) gordetzen den datu homogeneo multzoa da.
  5. 5. Aurkezpena 1 Zer dira fitxategiak? 2 Fitxategiak, zertarako? 3 Zer motako fitxategiak daude? 4 Fitxategien erabilera
  6. 6. Zertarako?
  7. 7. Aurkezpena 1 Zer dira fitxategiak? 2 Fitxategiak, zertarako? 3 Zer motako fitxategiak daude? 4 Fitxategien erabilera
  8. 8. Fitxategi motak I Edukien arabera... Testu fitxategiak, beraien osagaiak lerroetan antolatutako karaktereak dira. Erregistro fitxategiak, ohikoenak dira informatikan. Erregistroz osatutako fitxategiak dira eta eremuak deritzogun datu multzoetan antolatzen dira. Objektu fitxategiak, beraien osagaiak klase berbereko objektuak dira.
  9. 9. Fitxategi motak II Antolaketa sistema eta sarbide-metodoa kontutan edukiz... Fitxategi sekuentziala, beraien osagaiak jarraian edo sekuentzia bat jarraituz gordetzen dira. Osagai jakin batera heltzeko aurretik dauden osagai guztiak tratatu behar dira. Atzipen zuzeneko/ausazko/erlatibozko fitxategiak. Fitxategi mota hauek osagai bat bueltatzeko, fitxategi barruan duen posizio erlatiboa kontutan hartzen dute. Fitxategi indexatua. Beraien osagaietara osagai bakoitza besteetatik bereizten duen gako baten bitartez iristen da.
  10. 10. Fitxategi motak III Programarekiko erlazioa kontutan hartuz: Sarrera edo irakurketa fitxategiak, informazioa ematen diote programari. Irteera edo idazketa fitxategiak, programatik informazioa jasotzen dute. Sarrera/Irteera fitxategiak, programarekin informazioa elkartrukatzen dute (bi norantzan).
  11. 11. Aurkezpena 1 Zer dira fitxategiak? 2 Fitxategiak, zertarako? 3 Zer motako fitxategiak daude? 4 Fitxategien erabilera Fitxategi idazketa Fitxategi irakurketa
  12. 12. Fitxategiak erabiltzeko 1 Objektuak Serializable egin 2 Exception-a kanpora bota 3 Fitxategia irakurri edo idatzi 4 Fitxategia itxi
  13. 13. Objektuak serializable egin Fitxategi batean irakurtzeko eta idazteko klase bat, Serializable interfazea inplementatu behar du. import java.io.Serializable; public class KlasearenIzena implements Serializable { ... }
  14. 14. Exception-a bota Fitxategiak kudeatzen dituen metodoetan... public void metodoarenIzena() throws Exception { // Fitxategiekin zeozer egin ... }
  15. 15. Fitxategi batean idazteko/irakurtzeko... I Adibidez: Pertsona klasea Atributuak: burua, ile kolorea eta jertse kolorea.
  16. 16. Fitxategi batean idazteko/irakurtzeko... II Pertsona klaseko 3 objektu (instantzia) baditugu...
  17. 17. Fitxategia idazkera moduan ireki Honako kodea fitxategi berria sortu edo jada existitzen bazen gainidazten du ObjectOutputStream erabiliz, fitxategi bakoitzean, klase bakarreko objektu anitz import java.io.FileOutputStream; import java.io.ObjectOutputStream; ... FileOutputStream fos = new FileOutputStream("fitxategia.dat"); ObjectOutputStream oos = new ObjectOutputStream(fos); ...
  18. 18. Pertsona bakarra idazteko ... oos.writeObject( maitane ); ...
  19. 19. N pertsona idazteko I ... oos.writeObject( maitane ); // fitxategiaren 1. posizioan
  20. 20. N pertsona idazteko II ... oos.writeObject( maitane ); oos.writeObject( mikel ); // bigarrenean posizioan
  21. 21. N pertsona idazteko III ... oos.writeObject( maitane ); oos.writeObject( mikel ); oos.writeObject( iraide ); // hirugarren posizioan ...
  22. 22. Irakurketa fitxategia itxi null-a azkenengo posizioa zein den jakiteko idazten dugu ... // oos FileOutputStream motako obj da oos.writeObject(null); oos.close(); ...
  23. 23. Fitxategi idazkera: laburpena import java.io.FileOutputStream; import java.io.ObjectOutputStream; ... FileOutputStream fos = new FileOutputStream("fitxategia.dat"); ObjectOutputStream oos = new ObjectOutputStream(fos); ... oos.writeObject( objektuarenIzena ); ... oos.writeObject(null); oos.close(); ...
  24. 24. Objektuak irakurtzeko Suposatu honako fitxategia dugula 3 personen objektuekin...
  25. 25. Fitxategia irakurketa moduan ireki import java.io.FileInputStream; import java.io.ObjectInputStream; ... FileInputStream fis = new FileInputStream("fitxategia.dat"); ObjectInputStream ois = new ObjectInputStream(fis); ...
  26. 26. Objektuak irakurtzeko I Pertsona bakarra irakurtzeko ... // ois ObjectInputStream klaseko objektua da AdibideKlasea aldagaia = (AdibideKlasea) ois.readObject(); ...
  27. 27. Objektuak irakurtzeko II N pertsona irakurtzeko (do... while) ... do { AdibideKlasea aldagaia = (AdibideKlasea) ois.readObject(); if (aldagaia!=null) { // objektuarekin zeozer egin } } while (aldagaia != null); ...
  28. 28. Objektuak irakurtzeko III N pertsona irakurtzeko (while) ... AdibideKlasea aldagaia = (AdibideKlasea) ois.readObject(); while (aldagaia != null) { // objektuarekin zeozer egin AdibideKlasea aldagaia = (AdibideKlasea) ois.readObject(); } ...
  29. 29. Fitxategi irakurketa: laburpena import java.io.FileInputStream; import java.io.ObjectInputStream; ... FileInputStream fis = new FileInputStream("fitxategia.dat"); ObjectInputStream ois = new ObjectInputStream(fis); ... AdibideKlasea aldagaia = (AdibideKlasea) ois.readObject(); ... while( aldagaia != null ); ois.close; ...
  30. 30. Lizentzia Irudien guztien jabetza intelektuala bere egileena* da, gainontzeko edukiak Creative Commons by-sa 3.0 lizentziapean daude. * jessicamullen, johnny automatic, mihi, kuba eta yyycatch.

×