En aquest article, anem a veure com podem crear fitxers des de Java, com podem sobreescriure el seu contingut, afegir registres, o llegir seqüencialment les dades existents en un fitxer, amb Java, utilitzant les classes de java.io
Sobreescriure contingut
Per obrir un fitxer des Java, podem utilitzar una de les classes existents en el paquet java.io; concretament FileWriter; a què li podem indicar la ruta completa i el nom de fitxer, i ens proporcionarà un OutputStream que utilitzarem per gravar.
Aquest objecte, ens interessa recobrir amb un filtre: PrintWriter
Fixeu-vos que estem utilitzant els objectes que hereten des Writer, ja que la nostra intenció és escriure caràcters, si no fos així, podríem haver utilitzat FileOutputStream i PrintStream.
Un cop s’ha establert la comunicació, podem utilitzar els mètodes vistos de l’objecte PrintWriter per escriure en el fitxer
en el següent exemple, vam gravar 10 registres en un fitxer de text, sobreescrivint qualsevol valor que hagués anteriorment
Afegir registres
Quan es vol afegir dades a un fitxer, només hem d’afegir un flag a true com a segon paràmetre en la creació de l’FileWriter
Sabent això, us proposo que modifiqueu la classe precedent perquè afegeixi 10 registres MÉS als existents
El resultat, necessiteu, tal :
Podeu comprovar que si el fitxer està creat, els registres s’afegeixen a cua, i si el fitxer no existeix, aquest es crea automàticament,
Llegir seqüencialment un arxiu
Igual que fèiem anteriorment amb la consola de sistema, la utilització de l’BufferedReader ens permet aïllar les nostres ordres de lectura, de l’activitat real d’el dispositiu físic.
és a dir, l’accés físic no ve donat directament per les nostres ordres de lectura, sinó que es realitzés quan la interfície c onsidere necessari fer la lectura, i sempre, com a mínim, registre a registre, fent molt més òptim l’accés a disc
Com sempre, per treballen amb streamer, el primer és aconseguir un, i com és per tractar un fitxer en disc, utilitzem FileReader
fitxer només és una string on podem deixar el camí sencer a el fitxer
Per optimitzar el tractament, activem un BufferedReader
I ara, ja podem utilitzar els mètodes de BufferedReader per processar el fitxer.
a continuació us deixo un exemple on es llegeix seqüencialment el fitxer creat en el tema anterior, i s’imprimeixen les línies a consola