Sie sind auf Seite 1von 4

Programacin II.

Docente: Ing. Orlando Barcia Ayala


Taller de archivos.
Objetivos.
Describir el comportamiento de la clase RandomAccessFile para manejo de Archivos
Cree una clase Ejercicio1, y en su mtodo main digite:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import java.io.RandomAccessFile;
import java.io.File;

public static void main(String[ ] args) {
try
{
RandomAccessFile f;
f= new RandomAccessFile("c:/ruta/dato.txt","rw");
f.writeInt(2);
f.writeDouble(8.1);
f.seek(16);
f.writeBytes("ups \n");
f.seek(12);
f.writeInt(5);
System.out.println("la posicin es "+ f.getFilePointer());
f.seek(20);
f.writeDouble(9.1);
f.seek(4);
System.out.println("El dato es " + f.readDouble() );
System.out.println("el tamao del archivo es "+ f.length( ));
f.close();

}catch(Exception e)
{
System.out.println("ocurrio un error "+e );
}
}

Se utilizarn las diapositivas del curso de archivos con RandomAccessFile para contestar estas
interrogantes.
Preguntas:
PARTE 1.
1. Qu se muestra al ejecutar el mismo?
2. Qu realiza try catch?
3. Para qu son necesarias las importaciones digitadas?
4. Qu realiza RandomAccessFile f? . Qu es f?;
5. Qu realiza f= new RandomAccessFile("c:/ruta/dato.txt","rw"); ?
6. Qu significa c:/ruta/dato.txt ?
7. Qu indica rw?

PARTE 2.
Diapositiva de movimiento del apuntador o puntero.

8. writeInt(x), seek(x), writeDouble(x), readInt() son mtodos, atributos o clases?
9. qu realiza seek( x)?
10. Qu ocurre cuando no se utiliza el seek( x)?
11. Qu realiza writeInt( x) , writeDouble ( x) , writeBytes( x) ?
12. Cul es el formato o estructura interna del archivo?
13. Qu realiza readInt( ), readDouble( ) , readLine( )?
14. Por qu los mtodos write necesitan argumentos y los read no ?
15. Cul es la diferencia entre los valores o variables del seek y los valores o variables del
write?

Formato o estructura interna para grabacin- lectura del archivo

PUNTEROS O POSICIONES
0 4 12 16 20
int double int String double
2 8.1 5 Ups\n 9.1
VALORES












PARTE 3

Elimine el archivo creado
Cambie la lnea 18 f.seek(4); por f.seek(12)
Cambie la lnea 19 por
System.out.println("El dato es " + f.readInt() );
Ejecute el programa. Qu dato muestra?


Elimine el archivo creado
Cambie la lnea 18 por f.seek(16);
Cambie la lnea 19 por
System.out.println("El dato es " + f.readLine() );
Ejecute el programa. Qu dato muestra?


Elimine el archivo creado
Quite el \n, es decir cambie la lnea 12 por f.writeBytes("ups");
Ejecute el programa. Qu dato muestra? Por qu ocurre esto?
Una vez comprobado, Vuelva a ubicar el \n en la lnea 12.

16. Qu ocurre cuando se realiza un write o read sin utilizar seek( )?
17. Qu ocurre sino se ubica el \n en una escritura String?
18. Qu realiza getFilePointer( )?
19. Sume el nmero de bytes y verifique cual es el valor que indica length( )
20. Qu efecta close( )?




PARTE 4
Ejercicio2. Cree una nueva clase que utilice como base el cdigo del ejercicio anterior.
Realice la mejora para que muestre al final (desde la lnea 18) , todos los datos ingresados en el
siguiente orden
8.1
2
Ups
9.1
5

PARTE 5.
Ejercicio 3.Cree una nueva clase que utilice como base el ejercicio anterior y muestre despus de
cada lectura y escritura la posicin final del puntero.

Das könnte Ihnen auch gefallen