0 votos
por (20 puntos) en Java
import java.io.*;
import javax.swing.JOptionPane;

public class POOArchivo {

    String nomArchivo = "C:\\Users\\pc\\Desktop\\Archivo.txt";
    byte totalV;
           Vehiculo v = new Vehiculo();
    //Leer
    FileInputStream fis;
    DataInputStream dis;
    //Guardar
    FileOutputStream fos;
    DataOutputStream dos;
    Vehiculo[] vehiculo = new Vehiculo[10];

    public void guardarEnDisco(Vehiculo auto) throws FileNotFoundException, IOException {
        fos = new FileOutputStream(nomArchivo, true);
        dos = new DataOutputStream(fos);
        dos.writeUTF(auto.getPlaca());
        dos.writeUTF(auto.getMarca());
        dos.writeUTF(auto.getModelo());
        dos.writeInt(auto.getAño());
        dos.writeFloat(auto.getPrecio());
        fos.close();
        dos.close();
    }

    public boolean verificaPlaca(String placa) throws FileNotFoundException, IOException {
        boolean bandera = false;
        try {
            fis = new FileInputStream(nomArchivo);
            dis = new DataInputStream(fis);
            while ((dis.available() != 0) && (!bandera)) {
                Vehiculo v = new Vehiculo();
                v.setPlaca(dis.readUTF());
                v.setMarca(dis.readUTF());
                v.setModelo(dis.readUTF());
                v.setAño(dis.readInt());
                v.setPrecio(dis.readFloat());
                if (v.getPlaca().equals(placa)) {
                    bandera = true;
                }
            }
            if (bandera == true) {
                JOptionPane.showMessageDialog(null, "La placa ya esta registrada");
            }

            fis.close();
            dis.close();


        } catch (FileNotFoundException e) {
            JOptionPane.showMessageDialog(null, "Primer registro");
        }
        return bandera;
    }

    public void Registrar() throws FileNotFoundException, IOException {

        JOptionPane.showMessageDialog(null, "Registro de vehiculos");
        String placa, marca, modelo;
        int año;
        float precio;
        boolean bandera;
        do {
            placa = JOptionPane.showInputDialog(null, "Placa: ");
            bandera = verificaPlaca(placa);
        } while (bandera);
        marca = JOptionPane.showInputDialog(null, "Marca: ");
        modelo = JOptionPane.showInputDialog(null, "Modelo: ");
        año = Integer.parseInt(JOptionPane.showInputDialog(null, "Año"));
        precio = Float.parseFloat(JOptionPane.showInputDialog(null, "Precio: "));

        Vehiculo auto = new Vehiculo(placa, marca, modelo, año, precio);
        guardarEnDisco(auto);
    }

    public void consultar() throws FileNotFoundException, IOException {
        try {
            fis = new FileInputStream(nomArchivo);
            dis = new DataInputStream(fis);
            while (dis.available() != 0) {
                JOptionPane.showMessageDialog(null, "Consultar Vehiculo:\n " + "Placa: " + dis.readUTF() + "\n" + "Marca: " + dis.readUTF()
                        + "\n" + "Modelo: " + dis.readUTF() + "\n" + "Año: " + dis.readInt() + "\n" + "Precio: " + dis.readFloat());
            }
            fis.close();
            dis.close();
        } catch (FileNotFoundException e) {
            JOptionPane.showMessageDialog(null, "No se encontro ningun archivo");
        }
    }

    public void Vector() throws FileNotFoundException, IOException {
        totalV = -1;
        fis = new FileInputStream(nomArchivo);
        dis = new DataInputStream(fis);
        while (dis.available() != 0) {
            Vehiculo v = new Vehiculo();
            v.setPlaca(dis.readUTF());
            v.setMarca(dis.readUTF());
            v.setModelo(dis.readUTF());
            v.setAño(dis.readInt());
            v.setPrecio(dis.readFloat());
            totalV++;
            vehiculo[totalV] = v;
            JOptionPane.showMessageDialog(null, "Archivos cargados");
        }
        fis.close();
        dis.close();
    }

    

    private void ModificarDatos() {
        int opcion;
      
        String placa = JOptionPane.showInputDialog(null, "Placa: ");
        System.out.println(totalV);
        System.out.println(vehiculo.length);
        try{
       for (int i = 0; i < 2 ; i++) {
           
            if (vehiculo[i].getPlaca().equals(placa)) {
                opcion = Integer.parseInt(JOptionPane.showInputDialog(null, "Que dato es el que deceas modificar: "
                        + " \n 1_Marca \n 2._Modelo \n 3._Marca \n 4._Año \n 5._Precio "));
                switch (opcion) {
                    case 1:
                        String marca = JOptionPane.showInputDialog(null, "Marca: " + (i + 1) + ": ");
                        vehiculo[i].setMarca(marca);
                        System.out.println(vehiculo[i].getMarca());
                        break;
                    case 2:
                        String modelo = JOptionPane.showInputDialog(null, "Modelo: ");
                        vehiculo[i].setModelo(modelo);
                        break;
                    case 3:
                        int año = Integer.parseInt(JOptionPane.showInputDialog(null, "Año"));
                        vehiculo[i].setAño(año);
                        break;
                    case 4:
                        float precio = Float.parseFloat(JOptionPane.showInputDialog(null, "Precio: "));
                        vehiculo[i].setPrecio(precio);
                        break;
                }
            }
        }
        }catch(Exception e){
            System.out.println("hubo un problema");
        }
    }
    public void ConsultarVector() throws IOException {
        for (int i = 0; i <= totalV; i++) {

            JOptionPane.showMessageDialog(null, vehiculo[i].getPlaca()
                    + "\n" + vehiculo[i].getModelo() + "\n" + vehiculo[i].getMarca()
                    + "\n" + vehiculo[i].getAño() + "\n" + vehiculo[i].getPrecio() + "\n");
        }
    }
    

    private void BorrarDatosDentroDelVector() {
        
    }


    public static void main(String[] args) throws FileNotFoundException, IOException {
        POOArchivo archivo = new POOArchivo();
        int opcion;
        do {
            opcion = JOptionPane.showOptionDialog(null, "Selecciona tu Opcion....", " .^-^. Archivos .^-^. ", JOptionPane.YES_NO_CANCEL_OPTION,
                    JOptionPane.QUESTION_MESSAGE, null, new Object[]{"Registrar Vehiculo ", "Consultar Vehiculo", "Vector Vehiculo",
                        "Consultar Verctor Vehiculo","Modificar","Borrar", "Salir"}, null);

            switch (opcion) {
                case 0:
                    archivo.Registrar();
                    break;
                case 1:
                    archivo.consultar();
                    break;
                case 2:
                    archivo.Vector();
                    break;
                case 3:
                    archivo.ConsultarVector();
                    break;
                case 4:
                    archivo.ModificarDatos();
                    break;
                case 5:
                    archivo.BorrarDatosDentroDelVector();

                case 6:
                    JOptionPane.showMessageDialog(null, "Gracias por usar el sistema  ^_^");
                    break;
            }

        } while (opcion != 6);
    }
}

Por favor, accede o regístrate para responder a esta pregunta.

Preguntas relacionadas

0 votos
0 respuestas
preguntado por atag102 (20 puntos) Ene 4, 2017 en Java
0 votos
0 respuestas
0 votos
0 respuestas
preguntado por Nicolas57 (60 puntos) May 3, 2020 en C/C++
0 votos
1 respuesta
preguntado por Gustavo (20 puntos) Ene 28, 2016 en Java
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...