Diferència entre revisions de la pàgina «M3 - Programació»
De wikiserver
(→UF3: Fonament de gestió de fitxers) |
(→Fitxers orientat a byte) |
||
| Línia 69: | Línia 69: | ||
:*'''rw:''' mode escriptura-lectura. Si el fitxer no existeix, es crearà un de nou buit. Si existeix, no s’esborren les seves dades. | :*'''rw:''' mode escriptura-lectura. Si el fitxer no existeix, es crearà un de nou buit. Si existeix, no s’esborren les seves dades. | ||
| + | |||
| + | '''Escriptura de dades''' | ||
| + | |||
| + | L’única manera de generar fitxers orientats a byte que puguin ser llegits correctament és mitjançant codi d’un programa. | ||
| + | |||
| + | Cada cop que es fa una operació de lectura o escriptura, l’apuntador es desplaça automàticament el mateix nombre de bytes amb què s’ha operat. | ||
| + | |||
| + | Mètodes disponibles per escriure dades: | ||
| + | |||
| + | {|border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; font-size: 95%;" | ||
| + | ! align="left" width="170 px" style="background:Lavender; color:Black"|Mètode | ||
| + | ! align="left" width="150 px" style="background:Lavender; color:Black"|Bytes escrits | ||
| + | |- | ||
| + | |writeBoolean(boolean b)||1 | ||
| + | |- | ||
| + | |writeByte (byte v)||1 | ||
| + | |- | ||
| + | |writeChar(char c)||2 | ||
| + | |- | ||
| + | |writeDouble(double d)||8 | ||
| + | |- | ||
| + | |writeFloat(float f)||4 | ||
| + | |- | ||
| + | |writeInt(int i)||4 | ||
| + | |- | ||
| + | |writeLong(long l)||8 | ||
| + | |- | ||
| + | |writeShort(short s)||2 | ||
| + | |} | ||
Revisió del 19:09, 3 feb 2018
Contingut
UF1: Programació Estructurada
Activitats
UF3: Fonament de gestió de fitxers
Continguts
Fitxers orientat a byte
Accés següèncial
Les dades s’emmagatzemen com una seqüència de valors, i per tant, l’esquema general que s'aplica en fitxers orientats a caràcter també es pot aplicar a aquest altre tipus.
Representació de les dades en format binari.
| Tipus | Paura clau Java | Mide (bytes) |
|---|---|---|
| caràcter | char | 2 |
| byte | byte | 1 |
| enter curt | short | 2 |
| enter simple | int | 4 |
| enter llarg | long | 8 |
| real de simple precisió | float | 4 |
| real de doble precisió | doble | 8 |
Inicialització
import java.io.File;
import java.io.RandomAccessFile; // s’usa tant per llegir com per escriure dades
RandomAccessFile raf = new RandomAccessFile(File ruta, String mode);
// File ruta per especificar la ruta del fitxer
// String mode per especificar el mode de treball a l'hora de processar el fitxer
Dels modes de treball possibles el dos més utilitzats són:
- r: mode lectura. Errors si el fitxer no existeix o si s'invoca a mètodes d'escriptura.
- rw: mode escriptura-lectura. Si el fitxer no existeix, es crearà un de nou buit. Si existeix, no s’esborren les seves dades.
Escriptura de dades
L’única manera de generar fitxers orientats a byte que puguin ser llegits correctament és mitjançant codi d’un programa.
Cada cop que es fa una operació de lectura o escriptura, l’apuntador es desplaça automàticament el mateix nombre de bytes amb què s’ha operat.
Mètodes disponibles per escriure dades:
| Mètode | Bytes escrits |
|---|---|
| writeBoolean(boolean b) | 1 |
| writeByte (byte v) | 1 |
| writeChar(char c) | 2 |
| writeDouble(double d) | 8 |
| writeFloat(float f) | 4 |
| writeInt(int i) | 4 |
| writeLong(long l) | 8 |
| writeShort(short s) | 2 |