Advertisement
Re_21

Untitled

May 23rd, 2023
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.06 KB | None | 0 0
  1. package com.mycompany.proyecto_final;
  2.  
  3. import java.io.IOException;
  4. import java.io.RandomAccessFile;
  5.  
  6. public class ArchivoDirecto {
  7.  
  8.     private String nArchivo;
  9.     private RandomAccessFile archivo;
  10.  
  11.     public void abrirArchivo() throws IOException {
  12.         archivo = new RandomAccessFile(nArchivo, "rw");
  13.     }
  14.  
  15.     public void cerrarArchivo() throws IOException {
  16.         if (archivo != null) {
  17.             archivo.close();
  18.         }
  19.     }
  20.  
  21.     private void escribirRegistro(RegistroAsignacionParqueos parqueo) throws IOException {
  22.         archivo.writeInt(parqueo.getnParqueo());
  23.         escribirCadena(parqueo.getnPlaca(), 7);
  24.         escribirCadena(parqueo.getNitCliente(), 10);
  25.         escribirCadena(parqueo.getfRegistroParqueo(), 10);
  26.     }
  27.  
  28.     private void escribirCadena(String cadena, int longitud) throws IOException {
  29.         StringBuilder builder = new StringBuilder(cadena);
  30.         builder.setLength(longitud);
  31.         archivo.writeChars(builder.toString());
  32.     }
  33.  
  34.     private RegistroAsignacionParqueos leerRegistro() throws IOException {
  35.         int nParqueo = archivo.readInt();
  36.         String nPlaca = leerCadena(7);
  37.         String nitCliente = leerCadena(10);
  38.         String fRegistroParqueo = leerCadena(10);
  39.         return new RegistroAsignacionParqueos(nParqueo, nPlaca, nitCliente, fRegistroParqueo);
  40.     }
  41.  
  42.     private String leerCadena(int longitud) throws IOException {
  43.         char[] arreglo = new char[longitud];
  44.         for (int i = 0; i < arreglo.length; i++) {
  45.             arreglo[i] = archivo.readChar();
  46.         }
  47.         return new String(arreglo).trim();
  48.     }
  49.  
  50.     public void ingresarRegistro(RegistroAsignacionParqueos parqueo) throws IOException {
  51.         archivo.seek((parqueo.getnParqueo() - 1) * RegistroAsignacionParqueos.getTAMANIO_REGISTRO());
  52.         escribirRegistro(parqueo);
  53.     }
  54.  
  55.     public RegistroAsignacionParqueos obtenerRegistro(int nParqueo) throws IOException {
  56.         archivo.seek((nParqueo - 1) * RegistroAsignacionParqueos.getTAMANIO_REGISTRO());
  57.         return leerRegistro();
  58.     }
  59. }
  60.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement