Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia Ultima revisió Ambdós costats nova versio | ||
java_lectura_escriptura [2022/11/24 15:41] albert_palacios_jimenez |
java_lectura_escriptura [2022/11/24 17:00] albert_palacios_jimenez |
||
---|---|---|---|
Línia 1: | Línia 1: | ||
====== Lectura i escriptura d' | ====== Lectura i escriptura d' | ||
- | {{tag> #FpInfor #Dam #DamMp06 #DamMp06Uf1 # | + | {{tag> #FpInfor #Dam #DamMp06 #DamMp06Uf1 # |
---- | ---- | ||
Línia 11: | Línia 10: | ||
- De text: guarden dades en format text (caràcters llegibles) | - De text: guarden dades en format text (caràcters llegibles) | ||
+ | |||
- Binaris: guarden dades en format binari (0s i 1s) | - Binaris: guarden dades en format binari (0s i 1s) | ||
Per llegir arxius de text fem servir dues classes: | Per llegir arxius de text fem servir dues classes: | ||
- | - **File**: representa una ruta al sistema de fitxers | + | - **File**: representa una ruta al sistema de fitxers, i permet |
* Manipular la jerarquia d’arxius (crear arxius i carpetes, borrar, renombrar …) | * Manipular la jerarquia d’arxius (crear arxius i carpetes, borrar, renombrar …) | ||
Línia 85: | Línia 85: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | |||
+ | ==== DataOutputStream i DataInputStream ==== | ||
+ | |||
+ | Per guardar dades primitives de manera ordenada en arxius, hi ha les classes " | ||
+ | |||
+ | Exemple de guardar dades primitives amb " | ||
+ | |||
+ | <code java> | ||
+ | File file = new File(" | ||
+ | | ||
+ | FileOutputStream fileOutputStream = null; | ||
+ | DataOutputStream dataOutputStream = null; | ||
+ | try { | ||
+ | fileOutputStream=new FileOutputStream(file); | ||
+ | dataOutputStream=new DataOutputStream(fileOutputStream); | ||
+ | dataOutputStream.writeInt(50); | ||
+ | dataOutputStream.writeDouble(400.25); | ||
+ | dataOutputStream.writeUTF(“Hola”); | ||
+ | dataOutputStream.flush(); | ||
+ | } catch (IOException e) { | ||
+ | e.printStackTrace(); | ||
+ | } finally { | ||
+ | try { | ||
+ | if(fileOutputStream!=null){ fileOutputStream.close(); | ||
+ | if(dataOutputStream!=null){ dataOutputStream.close(); | ||
+ | } catch (Exception e) { | ||
+ | e.printStackTrace(); | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Exemple de llegir dades primitives amb " | ||
+ | (Es llegeixen en l' | ||
+ | |||
+ | <code java> | ||
+ | FileInputStream fileInputStream = null; | ||
+ | DataInputStream dataInputStream = null; | ||
+ | try { | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | } catch (IOException e) { | ||
+ | | ||
+ | }finally { | ||
+ | try { | ||
+ | | ||
+ | | ||
+ | } catch (Exception e) { | ||
+ | e.printStackTrace(); | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Cal tenir en compte que els objectes no són dades primitives i per tant no es poden guardar i llegir amb els mètodes anteriors. | ||
+ | |||
==== Serialitzar ==== | ==== Serialitzar ==== | ||
Línia 183: | Línia 241: | ||
**Nota**: Cal tenir en compte, que els objectes serialitzats només es poden llegir en la mateixa versió de Java. | **Nota**: Cal tenir en compte, que els objectes serialitzats només es poden llegir en la mateixa versió de Java. | ||
- | |||
- | ==== DataOutputStream i DataInputStream ==== | ||
- | |||
- | Per guardar dades primitives de manera ordenada en arxius, hi ha les classes " | ||
- | |||
- | Exemple de guardar dades primitives amb " | ||
- | |||
- | <code java> | ||
- | File file = new File(" | ||
- | | ||
- | FileOutputStream fileOutputStream = null; | ||
- | DataOutputStream dataOutputStream = null; | ||
- | try { | ||
- | fileOutputStream=new FileOutputStream(file); | ||
- | dataOutputStream=new DataOutputStream(fileOutputStream); | ||
- | dataOutputStream.writeInt(50); | ||
- | dataOutputStream.writeDouble(400.25); | ||
- | dataOutputStream.writeUTF(“Hola”); | ||
- | dataOutputStream.flush(); | ||
- | } catch (IOException e) { | ||
- | e.printStackTrace(); | ||
- | } finally { | ||
- | try { | ||
- | if(fileOutputStream!=null){ fileOutputStream.close(); | ||
- | if(dataOutputStream!=null){ dataOutputStream.close(); | ||
- | } catch (Exception e) { | ||
- | e.printStackTrace(); | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | Exemple de llegir dades primitives amb " | ||
- | (Es llegeixen en l' | ||
- | |||
- | <code java> | ||
- | FileInputStream fileInputStream = null; | ||
- | DataInputStream dataInputStream = null; | ||
- | try { | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | } catch (IOException e) { | ||
- | | ||
- | }finally { | ||
- | try { | ||
- | | ||
- | | ||
- | } catch (Exception e) { | ||
- | e.printStackTrace(); | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | Cal tenir en compte que els objectes no són dades primitives i per tant no es poden guardar i llegir amb els mètodes anteriors. | ||
==== Escriptura i lectura d' | ==== Escriptura i lectura d' | ||
Línia 401: | Línia 403: | ||
Igualment, com amb les dades primitives, es poden guardar objectes de manera ordenada: | Igualment, com amb les dades primitives, es poden guardar objectes de manera ordenada: | ||
+ | |||
+ | Objecte serialitzable d' | ||
+ | |||
+ | Objecte.java | ||
+ | <code java> | ||
+ | import java.io.Serializable; | ||
+ | |||
+ | public class Objecte implements Serializable { | ||
+ | String nom; | ||
+ | String utilitat; | ||
+ | |||
+ | Objecte (String nom, String utilitat) { | ||
+ | this.nom = nom; | ||
+ | this.utilitat = utilitat; | ||
+ | } | ||
+ | |||
+ | @Override | ||
+ | public String toString () { | ||
+ | return "Nom: " + this.nom + ", Utilitat: " + this.utilitat; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </ | ||
<code java> | <code java> |