
Acceso directo
Publicado por Alejandro (10 intervenciones) el 17/09/2016 02:37:27
Buenas a todos. Necesito ayuda.. Tengo el siguiente codigo, que graba los datos de la compra de un negocio a un laboratorio. Los datos se guardan en un archivo de acceso directo. Como es el codigo para acceder directamente a un registro? y como para leer y mostrar todos los registros?.. Cada registro ocuparia 192 bytes
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import java.util.Scanner;
import java.io.*;
public class Laboratorio
{
public static void main (String[] args) throws IOException{
Scanner tecla = new Scanner (System.in);
String rutaArch = "D:\\Laboratorio.dat";
RandomAccessFile archivo = new RandomAccessFile (rutaArch,"rw");
tecla.useDelimiter ("\n");
int codigoLaboratorio = -1;
String nombre[] = new String [30];
String domicilio[] = new String [30];
String telefono[] = new String [30];
int compraMinima = 0;
int diaEntrega = 0;
String rpta = "s";
try {
while (rpta.equals("s") || rpta.equals("S")) {
System.out.println (" ");
System.out.print ("Nombre: ");
nombre[29] = tecla.next();
System.out.print ("Domicilio: ");
domicilio[29] = tecla.next();
System.out.print ("Telefono: ");
telefono[29] = tecla.next();
System.out.print ("Compra minima: ");
compraMinima = tecla.nextInt();
System.out.print ("Dia entrega: ");
diaEntrega = tecla.nextInt();
codigoLaboratorio += 1;
if (archivo.length() != -1){
archivo.seek(archivo.length());
archivo.writeInt(codigoLaboratorio);
archivo.writeUTF(nombre[29]);
archivo.writeUTF(domicilio[29]);
archivo.writeUTF(telefono[29]);
archivo.writeInt(compraMinima);
archivo.writeInt (diaEntrega);
} else {
archivo.seek(0);
archivo.writeInt(codigoLaboratorio);
archivo.writeUTF(nombre[29]);
archivo.writeUTF(domicilio[29]);
archivo.writeUTF(telefono[29]);
archivo.writeInt(compraMinima);
archivo.writeInt (diaEntrega);
}
System.out.println (" ");
System.out.print ("¿Ingresar más compras? S/N: ");
rpta = tecla.next();
}
archivo.close();
}
catch (FileNotFoundException fnfe) {
System.out.println ("Archivo no encontrado.");
}
catch (IOException ioe) {
System.out.println("Error al escribir");
}
}
}
Valora esta pregunta


0