Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

1213 Threads [5] Accés a fitxers

211 views

Published on

  • Be the first to comment

  • Be the first to like this

1213 Threads [5] Accés a fitxers

  1. 1. PROGRAMACIÓ   CONCURRENT   5   Accés  a  fitxers  
  2. 2. ACCÉS  A  LA  INFORMACIÓ   Tipus  d’accessos  a  dades  Accés aleatori (“random”): Igual que en el cas de la memòriaRAM (Random Acces Memory), els arxius d’accés aleatoripermeten accedir a les dades de forma no seqüencial – desordenada-.Accés seqüencial (fluxe o “streams”): Les dades es llegeixenseqüencialment – des del principi de l’arxiu fins al final.Concatenació (canyeries o “pipes”): De vegades, resulta útildefinir connexions entre programes que funcionen simultàniamentdins d’una mateixa màquina.
  3. 3. ACCÉS  A  LA  INFORMACIÓ   Seqüencial  vs.  aleatori  Accés seqüencial: Llegeix un arxiu començant des delprincipi i llegeix els continguts sences – un byte per cop –fins que assoleix el final.Accés aleatori: Permet accedir a localitzacions específiquesen un arxiu I canviar unes determinades localitzacions.
  4. 4. ACCÉS  A  LA  INFORMACIÓ   Mètodes  d’escriptura  §  Els arxius d’accés seqüencial són extremadament útils per la majoria de les aplicacions; ara bé, de vegades són necessaris arxius d’accés aleatori que permetin accedir als seus continguts en forma no seqüencial – o aleatòria - .§  La classe RandomAccessFile del paquet java.io, implementa un arxiu d’accés aleatori. Es pot utilitzar tant per lectura com per l’escriptura de bytes.
  5. 5. ACCÉS  A  LA  INFORMACIÓ   Mètodes  d’escriptura  §  Tot objecte instància de RandomAccessFile suporta el concepte de punter que indica la posició actual dins de l’arxiu. §  La metodologia del punter es basa que comença en 0 i es mesura en bytes.§  RandomAccessFile proporciona comandes per operar sobre el punter.
  6. 6. ACCÉS  A  FITXERS  PER  POSICIÓ   Creació  d’un  fitxer  d’accés  aleatori  L’argument mode determina si es té accés de solamentlectura (r) o de lectura/escriptura (r/w). Per exemple, es pot obrir un fitxer d’una base de dades peractualitzar-la: RandomAccessFile elMeuArxiu = new RandomAccessFile( "/tmp/ res.dbf","rw" );
  7. 7. ACCÉS  A  FITXERS  PER  POSICIÓ  Dels mètodes que es poden utilitzar amb els punters delsfitxers, trobem:   Seek  ()è  Permet  moure  el  punter  a  un  byte  n  específic  (comptat  des  del   començament  del  fitxer).   getFilePointer  ()  è  Permet  aconseguir  la  posició  actual  del  punter  del  fitxer.   length  ()  è  Permet  determinar  el  número  de  bytes  que  hi  ha  en  un  fitxer.   f.seek (n);   long fileLength = f.length (); Long n= f.getFilePointer(); // tipus “long” perquè els fitxer poden ser molt grans  
  8. 8. ACCÉS  A  FITXERS  PER  POSICIÓ   Exemple  10  •  Què fa aquest programa?•  Modifica la crida al punter perquè, enlloc de la segona línia, vull que se’m mostri la segona i la tercera?•  Fes el mateix perquè es mostrin totes.  

×