Advertisement
Re_21

Archivo Secuencial

May 30th, 2023
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 19.84 KB | None | 0 0
  1. /*
  2.  * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
  3.  * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
  4.  */
  5. package com.mycompany.proyecto_final;
  6.  
  7. import java.io.*;
  8. import java.util.*;
  9.  
  10. /**
  11.  *
  12.  * @author victo
  13.  */
  14. public class ArchivoSecuencial {
  15.  
  16.     //validar numero de telefono
  17.     public static boolean validarNumeroTelefono(String NumeroTelefono) {
  18.         boolean validarNumero = false;
  19.         int cuentaNumero = 0;
  20.         for (int i = 0; i < NumeroTelefono.length(); i++) {
  21.             switch (NumeroTelefono.charAt(i)) {
  22.                 case '1':
  23.                     cuentaNumero++;
  24.                     break;
  25.                 case '2':
  26.                     cuentaNumero++;
  27.  
  28.                     break;
  29.                 case '3':
  30.                     cuentaNumero++;
  31.  
  32.                     break;
  33.                 case '4':
  34.                     cuentaNumero++;
  35.  
  36.                     break;
  37.                 case '5':
  38.                     cuentaNumero++;
  39.  
  40.                     break;
  41.                 case '6':
  42.                     cuentaNumero++;
  43.  
  44.                     break;
  45.                 case '7':
  46.                     cuentaNumero++;
  47.  
  48.                     break;
  49.                 case '8':
  50.                     cuentaNumero++;
  51.  
  52.                     break;
  53.                 case '9':
  54.                     cuentaNumero++;
  55.  
  56.                     break;
  57.                 case '0':
  58.                     cuentaNumero++;
  59.  
  60.                     break;
  61.             }
  62.         }
  63.         if (cuentaNumero == NumeroTelefono.length()) {
  64.             validarNumero = true;
  65.         }
  66.         return validarNumero;
  67.     }
  68.  
  69.     //validar fecha del cliente
  70.     public static boolean validarFecha(String fechaNacimiento) {
  71.         boolean validarFecha = false;
  72.         // dd/mm/yyyy
  73.         if (fechaNacimiento.length() == 10) {
  74.             if (fechaNacimiento.charAt(2) == '/' && fechaNacimiento.charAt(5) == '/') {
  75.                 int cuentaLetras = 0;
  76.                 for (int i = 0; i < fechaNacimiento.length(); i++) {
  77.                     switch (fechaNacimiento.charAt(i)) {
  78.                         case '1':
  79.                             cuentaLetras++;
  80.                             break;
  81.                         case '2':
  82.                             cuentaLetras++;
  83.                             break;
  84.                         case '3':
  85.                             cuentaLetras++;
  86.                             break;
  87.                         case '4':
  88.                             cuentaLetras++;
  89.                             break;
  90.                         case '5':
  91.                             cuentaLetras++;
  92.                             break;
  93.                         case '6':
  94.                             cuentaLetras++;
  95.                             break;
  96.                         case '7':
  97.                             cuentaLetras++;
  98.                             break;
  99.                         case '8':
  100.                             cuentaLetras++;
  101.                             break;
  102.                         case '9':
  103.                             cuentaLetras++;
  104.                             break;
  105.                         case '0':
  106.                             cuentaLetras++;
  107.                             break;
  108.                         case '/':
  109.                             cuentaLetras++;
  110.                             break;
  111.                         default:
  112.                             System.out.println("La fecha no es valida");
  113.                     }
  114.                 }
  115.                 if (cuentaLetras == fechaNacimiento.length()) {
  116.                     System.out.println("La fecha es valida");
  117.                     validarFecha = true;
  118.                 }
  119.             }
  120.         }
  121.         return validarFecha;
  122.     }
  123.  
  124.     //clientes archivo secuncial
  125.     //uso del NIT O CUI
  126.     //generar formato cliente
  127.     public static void llenarCliente(clientes cliente, BufferedWriter bW) throws IOException {
  128.         bW.write(cliente.getCui() + "%" + cliente.getNit() + "%" + cliente.getdRecidencia() + "%" + cliente.getnEmpresa() + "%" + cliente.getdEmpresa() + "%" + cliente.getfNacimiento() + "%" + cliente.getpNombre() + "%" + cliente.getsNombre() + "%" + cliente.getpApellido() + "%" + cliente.getsApellido() + "%" + cliente.getnTelefono() + "%" + cliente.getEstado());
  129.         bW.newLine();
  130.         bW.close();
  131.     }
  132.  
  133.     //registrar cliente
  134.     public static void registrarCliente(clientes cliente) throws IOException {
  135.         File file = new File("clientes.txt");
  136.         if (file.exists() && file.length() != 0) {
  137.             BufferedWriter bW = new BufferedWriter(new FileWriter(file, true));
  138.             llenarCliente(cliente, bW);
  139.         } else {
  140.             BufferedWriter bW = new BufferedWriter(new FileWriter(file));
  141.             llenarCliente(cliente, bW);
  142.         }
  143.     }
  144. //modificar clientes
  145.  
  146.     public static void modificarCliente(String Cui, String Nit) throws IOException {
  147.         File file = new File("clientes.txt");
  148.         File tmpFile = new File("clientes.tmp");
  149.         if (file.exists()) {
  150.             BufferedReader bR = new BufferedReader(new FileReader(file));
  151.             BufferedWriter bW = new BufferedWriter(new FileWriter(tmpFile));
  152.             String linea;
  153.             while ((linea = bR.readLine()) != null) {
  154.                 String Clientesatributos[] = linea.split("%");
  155.                 System.out.println(linea);
  156.                 clientes cliente = new clientes(Clientesatributos[0], Clientesatributos[1], Clientesatributos[2], Clientesatributos[3], Clientesatributos[4], Clientesatributos[5], Clientesatributos[6], Clientesatributos[7], Clientesatributos[8], Clientesatributos[9], Clientesatributos[10], Clientesatributos[11]);
  157.  
  158.                 if (Cui == null || Clientesatributos[0].equalsIgnoreCase(Cui) && Nit == null || Clientesatributos[1].equalsIgnoreCase(Nit)) {
  159.                     Scanner entrada = new Scanner(System.in);
  160.                     //modificar residencia
  161.                     System.out.println("Ingrese una residencia nueva: ");
  162.                     String dResidencia = entrada.nextLine();
  163.                     // entidad labora
  164.                     System.out.println("Ingrese un nuevo nombre de la empresa: ");
  165.                     String nEmpresa = entrada.nextLine();
  166.                     //direccion empresa
  167.                     System.out.println("Ingrese una nueva direccion de la empresa: ");
  168.                     String dEmpresa = entrada.nextLine();
  169.                     //fecha de nacimiento
  170.                     System.out.println("Ingrese una fecha de nacimiento: ");
  171.                     String fNacimiento = entrada.nextLine();
  172.                     System.out.println("Ingrese el primer nombre: ");
  173.                     String pNombre = entrada.nextLine();
  174.                     System.out.println("Ingrese el segundo nombre: ");
  175.                     String sNombre = entrada.nextLine();
  176.                     System.out.println("Ingrese el primer apellido: ");
  177.                     String pApellido = entrada.nextLine();
  178.                     System.out.println("Ingrese el segundo apellido: ");
  179.                     String sApellido = entrada.nextLine();
  180.                     System.out.println("Ingrese un nuevo numero de telefono: ");
  181.                     String nTelefono = entrada.nextLine();
  182.  
  183.                     if (validarFecha(fNacimiento) == true) {
  184.                         //modificar atributos
  185.                         if (validarNumeroTelefono(nTelefono) == true) {
  186.                             cliente.setdRecidencia(dResidencia);
  187.                             cliente.setnEmpresa(nEmpresa);
  188.                             cliente.setdEmpresa(dEmpresa);
  189.                             cliente.setfNacimiento(fNacimiento);
  190.                             cliente.setpNombre(pNombre);
  191.                             cliente.setsNombre(sNombre);
  192.                             cliente.setpApellido(pApellido);
  193.                             cliente.setsApellido(sApellido);
  194.                             cliente.setnTelefono(nTelefono);
  195.                             llenarCliente(cliente, bW);
  196.                             //System.out.println("Registro eliminado logicamente");
  197.                         }
  198.                     }
  199.                     //
  200.                 } else {
  201.                     bW.write(linea);
  202.                     bW.newLine();
  203.                 }
  204.                 System.out.println("No se encontro registro");
  205.             }
  206.             bR.close();
  207.             bW.close();
  208.             file.delete();
  209.             tmpFile.renameTo(file);//renombrar
  210.         }
  211.     }
  212.  
  213.     //eliminacion logica cliente
  214.     //Elimininacion Logica de clientes solo con uno o mas?
  215.     //vechiculos archivo secuencial
  216.     //uso de PLACA
  217.     //generar formato
  218.     public static void eliminarClienteLogico(String Cui) throws IOException {
  219.         File file = new File("clientes.txt");
  220.         File tmpFile = new File("clientes.tmp");
  221.         if (file.exists()) {
  222.             BufferedReader bR = new BufferedReader(new FileReader(file));
  223.             BufferedWriter bW = new BufferedWriter(new FileWriter(tmpFile));
  224.             String linea;
  225.             while ((linea = bR.readLine()) != null) {
  226.                 String Clientesatributos[] = linea.split("%");
  227.                 System.out.println(linea);
  228.                 clientes cliente = new clientes(Clientesatributos[0], Clientesatributos[1], Clientesatributos[2], Clientesatributos[3], Clientesatributos[4], Clientesatributos[5], Clientesatributos[6], Clientesatributos[7], Clientesatributos[8], Clientesatributos[9], Clientesatributos[10], Clientesatributos[11]);
  229.  
  230.                 if (Clientesatributos[0].equalsIgnoreCase(Cui)) {
  231.                     cliente.setEstado("2");
  232.                     llenarCliente(cliente, bW);
  233.                     System.out.println("Registro eliminado logicamente");
  234.                 } else {
  235.                     bW.write(linea);
  236.                     bW.newLine();
  237.                 }
  238.                 System.out.println("No se encontro registro");
  239.             }
  240.             bR.close();
  241.             bW.close();
  242.             file.delete();
  243.             tmpFile.renameTo(file);//renombrar
  244.         }
  245.     }
  246.  
  247.     // buscar cliente/consultar un cliente por:
  248.     /*
  249. Código único de identificación
  250. ○ NIT
  251. ○ Nombres
  252. ○ Apellidos.    
  253.      */
  254.     public static void consultarCliente(String Cui, String NIT, String pNombre, String sNombre, String pApellido, String sApellido) throws IOException {
  255.         File file = new File("clientes.txt");
  256.         if (file.exists()) {
  257.             BufferedReader bR = new BufferedReader(new FileReader(file));
  258.             String linea;
  259.             while ((linea = bR.readLine()) != null) {
  260.                 String[] Clientesatributos = linea.split("%");
  261.                 clientes cliente = new clientes(Clientesatributos[0], Clientesatributos[1], Clientesatributos[2], Clientesatributos[3], Clientesatributos[4], Clientesatributos[5], Clientesatributos[6], Clientesatributos[7], Clientesatributos[8], Clientesatributos[9], Clientesatributos[10], Clientesatributos[11]);
  262.  
  263.                 if ((Cui == null || cliente.getCui().equals(Cui))
  264.                         && (NIT == null || cliente.getNit().equals(NIT))
  265.                         && (pNombre == null || cliente.getpNombre().equals(pNombre)) && (sNombre == null || cliente.getsNombre().equals(sNombre))
  266.                         && (pApellido == null || cliente.getpApellido().equals(pApellido)) && (sApellido == null || cliente.getsApellido().equals(sApellido))) {
  267.                     System.out.println(cliente.toString());
  268.                 }
  269.             }
  270.             bR.close();
  271.         } else {
  272.             System.out.println("El archivo no existe.");
  273.         }
  274.     }
  275.  
  276. //consultar clientes
  277.     //terminar
  278.     public static void consultarClientes() throws IOException {
  279.         File file = new File("clientes.txt");
  280.         if (file.exists() && file.length() != 0) {
  281.             BufferedReader bR = new BufferedReader(new FileReader(file));
  282.             String linea;
  283.             while ((linea = bR.readLine()) != null) {
  284.                 String[] Clientesatributos = linea.split("%");
  285.                 clientes cliente = new clientes(Clientesatributos[0], Clientesatributos[1], Clientesatributos[2], Clientesatributos[3], Clientesatributos[4], Clientesatributos[5], Clientesatributos[6], Clientesatributos[7], Clientesatributos[8], Clientesatributos[9], Clientesatributos[10], Clientesatributos[11]);
  286.                 System.out.println(cliente.toString());
  287.             }
  288.             bR.close();
  289.         } else {
  290.             System.out.println("El archivo no existe.");
  291.         }
  292.     }
  293.  
  294.     //vehiculo
  295.     public static void llenarVehiculo(vehiculos vehiculo, BufferedWriter bW) throws IOException {
  296.         bW.write(vehiculo.getnPlaca() + "%" + vehiculo.getmVehiculo() + "%" + vehiculo.getlVehiculo() + "%" + vehiculo.getModVehiculo() + "%" + vehiculo.getcVehiculo() + "%" + vehiculo.getnCliente() + "%" + vehiculo.getEstadoVehiculo());
  297.         bW.newLine();
  298.         bW.close();
  299.     }
  300.  
  301.     //registrar vehiculo
  302.     public static void registrarVehiculo(vehiculos vehiculo) throws IOException {
  303.         File file = new File("vehiculos.txt");
  304.         if (file.exists() && file.length() != 0) {
  305.             BufferedWriter bW = new BufferedWriter(new FileWriter(file, true));
  306.             llenarVehiculo(vehiculo, bW);
  307.         } else {
  308.             BufferedWriter bW = new BufferedWriter(new FileWriter(file));
  309.             llenarVehiculo(vehiculo, bW);
  310.         }
  311.     }
  312. //modificar vehiculos
  313.     //debera modificarse en atributos solo:
  314.  
  315.     /*
  316.     marca,
  317.     linea,
  318.     modelo,
  319.     color,
  320.     NIT del propietario{cliente}
  321.     estado= 1|2: activo|inactivo
  322.      */
  323.     //?
  324.     //buscar por nuemero de placa del vehiculo --> eliminacion logica incluida?
  325.     public static void modificarVehiculo(String Placa) throws IOException {
  326.         File file = new File("vehiculos.txt");
  327.         File tmpFile = new File("vehiculos.txt");
  328.         if (file.exists()) {
  329.             BufferedReader bR = new BufferedReader(new FileReader(file));
  330.             BufferedWriter bW = new BufferedWriter(new FileWriter(tmpFile));
  331.             String linea;
  332.             while ((linea = bR.readLine()) != null) {
  333.                 String Vehiculosatributos[] = linea.split("%");
  334.                 System.out.println(linea);
  335. //(String nPlaca, String mVehiculo, String lVehiculo, String modVehiculo, String cVehiculo, String nCliente, String estadoVehiculo) {
  336.  
  337.                 vehiculos vehiculo = new vehiculos(Vehiculosatributos[0], Vehiculosatributos[1], Vehiculosatributos[2], Vehiculosatributos[3], Vehiculosatributos[4], Vehiculosatributos[5], Vehiculosatributos[6]);
  338.  
  339.                 if (Vehiculosatributos[0].equalsIgnoreCase(Placa)) {
  340.                     Scanner entrada = new Scanner(System.in);
  341.                     //marca del vehiculo
  342.                     String mVehiculo = entrada.nextLine();
  343.                     // linea del vehiculo
  344.                     String lVehiculo = entrada.nextLine();
  345.                     // modelo del vehiculo
  346.                     String modVehiculo = entrada.nextLine();
  347.                     //fecha de nacimiento
  348.                     String cVehiculo = entrada.nextLine();
  349.                     //nit del cliente
  350.                     String nCliente = entrada.nextLine();
  351.                     //estado del vehiculo 1|2
  352.                     String estadoVehiculo = entrada.nextLine();
  353.  
  354.                     //validar placa
  355.                     //modificar atributos
  356.                     vehiculo.setmVehiculo(mVehiculo);
  357.                     vehiculo.setlVehiculo(lVehiculo);
  358.                     vehiculo.setModVehiculo(modVehiculo);
  359.                     vehiculo.setcVehiculo(cVehiculo);
  360.                     vehiculo.setnCliente(nCliente);
  361.                     vehiculo.setEstadoVehiculo(estadoVehiculo);
  362.                     llenarVehiculo(vehiculo, bW);
  363.                     System.out.println("Registro eliminado logicamente");
  364.                     //
  365.                 } else {
  366.                     bW.write(linea);
  367.                     bW.newLine();
  368.                 }
  369.                 System.out.println("No se encontro registro");
  370.             }
  371.             bR.close();
  372.             bW.close();
  373.             file.delete();
  374.             tmpFile.renameTo(file);//renombrar
  375.         }
  376.     }
  377.  
  378. //consultar vehiculo
  379.     public static void consultarVehiculo(String Placa) throws IOException {
  380.         File file = new File("vehiculos.txt");
  381.         if (file.exists()) {
  382.             BufferedReader bR = new BufferedReader(new FileReader(file));
  383.             String linea;
  384.             while ((linea = bR.readLine()) != null) {
  385.                 String Vehiculosatributos[] = linea.split("%");
  386.                 vehiculos vehiculo = new vehiculos(Vehiculosatributos[0], Vehiculosatributos[1], Vehiculosatributos[2], Vehiculosatributos[3], Vehiculosatributos[4], Vehiculosatributos[5], Vehiculosatributos[6]);
  387.  
  388.                 if (Vehiculosatributos[0].equalsIgnoreCase(Placa)) {
  389.                     System.out.println(vehiculo.toString());
  390.                 }
  391.             }
  392.             bR.close();
  393.         } else {
  394.             System.out.println("El archivo no existe.");
  395.         }
  396.     }
  397.  
  398.     //consultar vehiculos
  399.     public static void consultarVehiculos() throws IOException {
  400.         File file = new File("vehiculos.txt");
  401.         if (file.exists()) {
  402.             BufferedReader bR = new BufferedReader(new FileReader(file));
  403.             String linea;
  404.             while ((linea = bR.readLine()) != null) {
  405.                 String Vehiculosatributos[] = linea.split("%");
  406.                 vehiculos vehiculo = new vehiculos(Vehiculosatributos[0], Vehiculosatributos[1], Vehiculosatributos[2], Vehiculosatributos[3], Vehiculosatributos[4], Vehiculosatributos[5], Vehiculosatributos[6]);
  407.                 System.out.println(vehiculo.toString());
  408.             }
  409.             bR.close();
  410.         } else {
  411.             System.out.println("El archivo no existe.");
  412.         }
  413.     }
  414.  
  415.     //pagos parqueo achivos secuenciales
  416.     //formato para archivo secuencial pagos de parqueo
  417.     public static void llenarPagosParqueo(RegistroPagosParqueo parqueo, BufferedWriter bW) throws IOException {
  418.         bW.write(parqueo.getnParqueo() + "%" + parqueo.getcPago() + "%" + parqueo.getmPago() + "%" + parqueo.getnComprobantePago() + "%" + parqueo.getfPago());
  419.         bW.newLine();
  420.         bW.close();
  421.     }
  422. //registrar los pagos de parqueo registrta uno
  423.  
  424.     public static void registrarPagoParqueo(RegistroPagosParqueo parqueo) throws IOException {
  425.         File file = new File("pagos.txt");
  426.         if (file.exists() && file.length() != 0) {
  427.             BufferedWriter bW = new BufferedWriter(new FileWriter(file, true));
  428.             llenarPagosParqueo(parqueo, bW);
  429.         } else {
  430.             BufferedWriter bW = new BufferedWriter(new FileWriter(file));
  431.             llenarPagosParqueo(parqueo, bW);
  432.         }
  433.  
  434.     }
  435. //conulstar los pagos arreglar
  436.  
  437.     public static void consultarPagos(String NIT, String numeroParqueo) throws IOException {
  438.         File file = new File("pagos.txt");
  439.         if (file.exists()) {
  440.             BufferedReader bR = new BufferedReader(new FileReader(file));
  441.             String linea;
  442.             while ((linea = bR.readLine()) != null) {
  443.                 String[] Pagosatributos = linea.split("%");
  444.                 RegistroPagosParqueo pago = new RegistroPagosParqueo(Pagosatributos[0], Pagosatributos[1], Pagosatributos[2], Pagosatributos[3], Pagosatributos[4], Pagosatributos[5]);
  445.  
  446.                 if (!NIT.isEmpty() && NIT.equalsIgnoreCase(pago.getNitCliente()) || !numeroParqueo.isEmpty() && numeroParqueo.equalsIgnoreCase(numeroParqueo)) {
  447.                     System.out.println(pago.toString());
  448.                 }
  449.             }
  450.             bR.close();
  451.         } else {
  452.             System.out.println("El archivo no existe.");
  453.         }
  454.     }
  455.  
  456. }
  457.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement