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);
}
}