import java.io.File;
import java.util.ArrayList;
import java.util.Vector;
public class Programa {
private static ArrayList registros = new ArrayList();
private Vector idLogs;
public static void main(String[] args) {
MeuArquivo arquivo = new MeuArquivo(new File("U:\pasta\hardware.dat"));
// ler registros - deixa na memória (manipulação na memória)
lerRegistros(arquivo);
int opcao = 0;
/*
* mostra um menu
* mantém o arquivo aberto até o usuário sair do sistema
*
*/
do {
imprimeMenu();
try {
opcao = IO.readInt();
} catch (Exception e){
opcao = 0;
}
if (opcao == 1)
inserirRegistro();
else if (opcao == 2)
removerRegistro(arquivo);
else if (opcao == 3)
visualizarRegistro(arquivo);
else if (opcao == 4)
sair(arquivo);
else
opcaoInvalida();
} while (opcao != 4);
System.out.println("fim!");
}
private static void imprimeMenu(){
// menu de opções
System.out.println("================================");
System.out.println("Opção 1 - Inserir Registro");
System.out.println("Opção 2 - Remover Registro");
System.out.println("Opção 3 - Visualizar Registros");
System.out.println("Opção 4 - Sair");
System.out.print("\nOpção: ");
}
private static void lerRegistros(MeuArquivo arquivo){
registros = arquivo.lerArquivo();
}
private static void inserirRegistro(){
int idProduct;
String toolName;
int amount;
double price;
System.out.println("\n Inserindo registros");
System.out.print("Informe o ID da ferramenta: ");
idProduct = IO.readInt();
System.out.print("Informe o nome da ferramenta: ");
toolName = IO.readStr();
System.out.print("Informe a quantidade em estoque: ");
amount = IO.readInt();
System.out.print("Informe o preço da ferramenta: ");
price = IO.readDouble();
//if (arquivo.idValidate()){
Registro reg = new Registro();
reg.setToolName(toolName);
reg.setAmount(amount);
reg.setIdProduct(idProduct);
reg.setPrice(price);
registros.add(reg);
//}
}
private static void removerRegistro(MeuArquivo arquivo){
System.out.println("\n*** Remover Registros\n");
System.out.println("Informe o Id do registro: ");
int id = IO.readInt();
boolean removeu = false;
for (int i=0; i<registros.size(); i++){
Registro reg = (Registro)registros.get(i);
if (reg.getIdProduct() == id){
registros.remove(i);
System.out.println("Registro removido com sucesso!");
removeu = true;
break;
}
}
if (! removeu){
System.out.println("Registro nao encontrado!");
}
}
private static void visualizarRegistro(MeuArquivo arquivo){
System.out.println("\n*** Visualizar Registros\n");
for (int i=0; i><registros.size(); i++){
Registro reg = (Registro)registros.get(i);
System.out.println("--------------------------------");
System.out.println(reg.toString());
}
}
private static void sair(MeuArquivo arquivo){
salvar(arquivo);
}
private static void opcaoInvalida(){
System.out.println("ops.. opção inválida! Tente novamente.");
}
private static void salvar(MeuArquivo arquivo){
arquivo.atualizarRegistros(registros);
}
}
toda vez que tento executar aparece a exceção, e no entanto o programa é executado.
alguem sabe o que esta contecendo?