Java - Acceso directo

 
Vista:
sin imagen de perfil

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder