SlideShare a Scribd company logo
Fitxategiak
Aitor Gómez-Goiri
aitor.gomez@deusto.es
Deustuko Unibertsitatea
Ingeniaritza fakultatea
http://www.deusto.es
2012/02/15
Aurkezpena
1 Zer dira fitxategiak?
2 Fitxategiak, zertarako?
3 Zer motako fitxategiak daude?
4 Fitxategien erabilera
Fitxategi idazketa
Fitxategi irakurketa
Aurkezpena
1 Zer dira fitxategiak?
2 Fitxategiak, zertarako?
3 Zer motako fitxategiak daude?
4 Fitxategien erabilera
Zer dira fitxategiak?
Fitxategi bat euskarri batean (disko gogorra, Cda,
pendrivea,...) gordetzen den datu homogeneo multzoa da.
Aurkezpena
1 Zer dira fitxategiak?
2 Fitxategiak, zertarako?
3 Zer motako fitxategiak daude?
4 Fitxategien erabilera
Zertarako?
Aurkezpena
1 Zer dira fitxategiak?
2 Fitxategiak, zertarako?
3 Zer motako fitxategiak daude?
4 Fitxategien erabilera
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.
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.
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).
Aurkezpena
1 Zer dira fitxategiak?
2 Fitxategiak, zertarako?
3 Zer motako fitxategiak daude?
4 Fitxategien erabilera
Fitxategi idazketa
Fitxategi irakurketa
Fitxategiak erabiltzeko
1 Objektuak Serializable egin
2 Exception-a kanpora bota
3 Fitxategia irakurri edo idatzi
4 Fitxategia itxi
Objektuak serializable egin
Fitxategi batean irakurtzeko eta idazteko klase bat,
Serializable interfazea inplementatu behar du.
import java.io.Serializable;
public class KlasearenIzena implements Serializable {
...
}
Exception-a bota
Fitxategiak kudeatzen dituen metodoetan...
public void metodoarenIzena() throws Exception {
// Fitxategiekin zeozer egin
...
}
Fitxategi batean idazteko/irakurtzeko... I
Adibidez: Pertsona klasea
Atributuak: burua, ile kolorea eta jertse kolorea.
Fitxategi batean idazteko/irakurtzeko... II
Pertsona klaseko 3 objektu (instantzia) baditugu...
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);
...
Pertsona bakarra idazteko
...
oos.writeObject( maitane );
...
N pertsona idazteko I
...
oos.writeObject( maitane ); // fitxategiaren 1. posizioan
N pertsona idazteko II
...
oos.writeObject( maitane );
oos.writeObject( mikel ); // bigarrenean posizioan
N pertsona idazteko III
...
oos.writeObject( maitane );
oos.writeObject( mikel );
oos.writeObject( iraide ); // hirugarren posizioan
...
Irakurketa fitxategia itxi
null-a azkenengo posizioa zein den jakiteko idazten dugu
...
// oos FileOutputStream motako obj da
oos.writeObject(null);
oos.close();
...
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();
...
Objektuak irakurtzeko
Suposatu honako fitxategia dugula 3 personen
objektuekin...
Fitxategia irakurketa moduan ireki
import java.io.FileInputStream;
import java.io.ObjectInputStream;
...
FileInputStream fis =
new FileInputStream("fitxategia.dat");
ObjectInputStream ois = new ObjectInputStream(fis);
...
Objektuak irakurtzeko I
Pertsona bakarra irakurtzeko
...
// ois ObjectInputStream klaseko objektua da
AdibideKlasea aldagaia =
(AdibideKlasea) ois.readObject();
...
Objektuak irakurtzeko II
N pertsona irakurtzeko (do... while)
...
do {
AdibideKlasea aldagaia = (AdibideKlasea) ois.readObject();
if (aldagaia!=null) {
// objektuarekin zeozer egin
}
} while (aldagaia != null);
...
Objektuak irakurtzeko III
N pertsona irakurtzeko (while)
...
AdibideKlasea aldagaia = (AdibideKlasea) ois.readObject();
while (aldagaia != null) {
// objektuarekin zeozer egin
AdibideKlasea aldagaia = (AdibideKlasea) ois.readObject();
}
...
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;
...
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.

More Related Content

More from Open University, KMi

Coordination of Resource-Constrained Devices through a Distributed Semantic S...
Coordination of Resource-Constrained Devices through a Distributed Semantic S...Coordination of Resource-Constrained Devices through a Distributed Semantic S...
Coordination of Resource-Constrained Devices through a Distributed Semantic S...
Open University, KMi
 
Redis
RedisRedis
Assessing data dissemination strategies
Assessing data dissemination strategiesAssessing data dissemination strategies
Assessing data dissemination strategies
Open University, KMi
 
RESTful Triple Spaces of Things
RESTful Triple Spaces of ThingsRESTful Triple Spaces of Things
RESTful Triple Spaces of Things
Open University, KMi
 
Presentación de Otsopack en Tecnalia
Presentación de Otsopack en TecnaliaPresentación de Otsopack en Tecnalia
Presentación de Otsopack en Tecnalia
Open University, KMi
 
Zuhaitzak
ZuhaitzakZuhaitzak
Errekurtsibitatea
ErrekurtsibitateaErrekurtsibitatea
Errekurtsibitatea
Open University, KMi
 
Egitura linealak
Egitura linealakEgitura linealak
Egitura linealak
Open University, KMi
 
Konposizioa, herentzia eta polimorfismoa
Konposizioa, herentzia eta  polimorfismoa Konposizioa, herentzia eta  polimorfismoa
Konposizioa, herentzia eta polimorfismoa
Open University, KMi
 
2D arraya eta objetu arrayak
2D arraya eta objetu arrayak2D arraya eta objetu arrayak
2D arraya eta objetu arrayak
Open University, KMi
 
"On the complementarity of Triple Spaces and the Web of Things" poster @ WoT2011
"On the complementarity of Triple Spaces and the Web of Things" poster @ WoT2011"On the complementarity of Triple Spaces and the Web of Things" poster @ WoT2011
"On the complementarity of Triple Spaces and the Web of Things" poster @ WoT2011
Open University, KMi
 
Triple Space adaptation for IoT
Triple Space adaptation for IoTTriple Space adaptation for IoT
Triple Space adaptation for IoT
Open University, KMi
 
A Triple Space-Based Semantic Distributed Middleware for Internet of Things
A Triple Space-Based Semantic Distributed Middleware for Internet of ThingsA Triple Space-Based Semantic Distributed Middleware for Internet of Things
A Triple Space-Based Semantic Distributed Middleware for Internet of Things
Open University, KMi
 
Presentacion Defensa
Presentacion DefensaPresentacion Defensa
Presentacion Defensa
Open University, KMi
 
Introducción a PHP5
Introducción a PHP5Introducción a PHP5
Introducción a PHP5
Open University, KMi
 
Introducción a PHP5
Introducción a PHP5Introducción a PHP5
Introducción a PHP5
Open University, KMi
 

More from Open University, KMi (16)

Coordination of Resource-Constrained Devices through a Distributed Semantic S...
Coordination of Resource-Constrained Devices through a Distributed Semantic S...Coordination of Resource-Constrained Devices through a Distributed Semantic S...
Coordination of Resource-Constrained Devices through a Distributed Semantic S...
 
Redis
RedisRedis
Redis
 
Assessing data dissemination strategies
Assessing data dissemination strategiesAssessing data dissemination strategies
Assessing data dissemination strategies
 
RESTful Triple Spaces of Things
RESTful Triple Spaces of ThingsRESTful Triple Spaces of Things
RESTful Triple Spaces of Things
 
Presentación de Otsopack en Tecnalia
Presentación de Otsopack en TecnaliaPresentación de Otsopack en Tecnalia
Presentación de Otsopack en Tecnalia
 
Zuhaitzak
ZuhaitzakZuhaitzak
Zuhaitzak
 
Errekurtsibitatea
ErrekurtsibitateaErrekurtsibitatea
Errekurtsibitatea
 
Egitura linealak
Egitura linealakEgitura linealak
Egitura linealak
 
Konposizioa, herentzia eta polimorfismoa
Konposizioa, herentzia eta  polimorfismoa Konposizioa, herentzia eta  polimorfismoa
Konposizioa, herentzia eta polimorfismoa
 
2D arraya eta objetu arrayak
2D arraya eta objetu arrayak2D arraya eta objetu arrayak
2D arraya eta objetu arrayak
 
"On the complementarity of Triple Spaces and the Web of Things" poster @ WoT2011
"On the complementarity of Triple Spaces and the Web of Things" poster @ WoT2011"On the complementarity of Triple Spaces and the Web of Things" poster @ WoT2011
"On the complementarity of Triple Spaces and the Web of Things" poster @ WoT2011
 
Triple Space adaptation for IoT
Triple Space adaptation for IoTTriple Space adaptation for IoT
Triple Space adaptation for IoT
 
A Triple Space-Based Semantic Distributed Middleware for Internet of Things
A Triple Space-Based Semantic Distributed Middleware for Internet of ThingsA Triple Space-Based Semantic Distributed Middleware for Internet of Things
A Triple Space-Based Semantic Distributed Middleware for Internet of Things
 
Presentacion Defensa
Presentacion DefensaPresentacion Defensa
Presentacion Defensa
 
Introducción a PHP5
Introducción a PHP5Introducción a PHP5
Introducción a PHP5
 
Introducción a PHP5
Introducción a PHP5Introducción a PHP5
Introducción a PHP5
 

Fitxategiak

  • 2. Aurkezpena 1 Zer dira fitxategiak? 2 Fitxategiak, zertarako? 3 Zer motako fitxategiak daude? 4 Fitxategien erabilera Fitxategi idazketa Fitxategi irakurketa
  • 3. Aurkezpena 1 Zer dira fitxategiak? 2 Fitxategiak, zertarako? 3 Zer motako fitxategiak daude? 4 Fitxategien erabilera
  • 4. Zer dira fitxategiak? Fitxategi bat euskarri batean (disko gogorra, Cda, pendrivea,...) gordetzen den datu homogeneo multzoa da.
  • 5. Aurkezpena 1 Zer dira fitxategiak? 2 Fitxategiak, zertarako? 3 Zer motako fitxategiak daude? 4 Fitxategien erabilera
  • 7. Aurkezpena 1 Zer dira fitxategiak? 2 Fitxategiak, zertarako? 3 Zer motako fitxategiak daude? 4 Fitxategien erabilera
  • 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. 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. 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. Aurkezpena 1 Zer dira fitxategiak? 2 Fitxategiak, zertarako? 3 Zer motako fitxategiak daude? 4 Fitxategien erabilera Fitxategi idazketa Fitxategi irakurketa
  • 12. Fitxategiak erabiltzeko 1 Objektuak Serializable egin 2 Exception-a kanpora bota 3 Fitxategia irakurri edo idatzi 4 Fitxategia itxi
  • 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. Exception-a bota Fitxategiak kudeatzen dituen metodoetan... public void metodoarenIzena() throws Exception { // Fitxategiekin zeozer egin ... }
  • 15. Fitxategi batean idazteko/irakurtzeko... I Adibidez: Pertsona klasea Atributuak: burua, ile kolorea eta jertse kolorea.
  • 16. Fitxategi batean idazteko/irakurtzeko... II Pertsona klaseko 3 objektu (instantzia) baditugu...
  • 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); ...
  • 19. N pertsona idazteko I ... oos.writeObject( maitane ); // fitxategiaren 1. posizioan
  • 20. N pertsona idazteko II ... oos.writeObject( maitane ); oos.writeObject( mikel ); // bigarrenean posizioan
  • 21. N pertsona idazteko III ... oos.writeObject( maitane ); oos.writeObject( mikel ); oos.writeObject( iraide ); // hirugarren posizioan ...
  • 22. Irakurketa fitxategia itxi null-a azkenengo posizioa zein den jakiteko idazten dugu ... // oos FileOutputStream motako obj da oos.writeObject(null); oos.close(); ...
  • 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. Objektuak irakurtzeko Suposatu honako fitxategia dugula 3 personen objektuekin...
  • 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. Objektuak irakurtzeko I Pertsona bakarra irakurtzeko ... // ois ObjectInputStream klaseko objektua da AdibideKlasea aldagaia = (AdibideKlasea) ois.readObject(); ...
  • 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. Objektuak irakurtzeko III N pertsona irakurtzeko (while) ... AdibideKlasea aldagaia = (AdibideKlasea) ois.readObject(); while (aldagaia != null) { // objektuarekin zeozer egin AdibideKlasea aldagaia = (AdibideKlasea) ois.readObject(); } ...
  • 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. 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.