Pessoal, peguei um aplicativo com banco de dados que salvam os arquivos em um formato .dat
Está em texto puro, como faço pra criar um script pra ler esses dados, e salvar no meu banco mysql?
Alguem poderia me dar um exemplo? de como ler os dados e depois salvar no banco.
Obrigado.
Depende. Como estão dispostos os dados no arquivo .dat? Poste-o aqui.
Estão assim:
Código Produto Descrição Preço Custo Preço Venda (é só pra ilustrar esses cabeçalhos)
//No arquivo estão assim
XYZ01254 CABO PARA REDE 1.55 2.85
ABC2128 DISQUETE 1.44 0.55 1.10
É dessa forma que está no “banco”.
São exemplos. No inventario são pelo menos 200 ítens! Para recadastrar tudo ficaria inviável.
Certo. Sendo assim, poderia ser feito o seguinte:
1 - Criar uma classe que modela seus objetos (afinal, isso é cadastro de que mesmo?). Essa classe teria os atributos codigo, produto, descricao, pCusto, pVenda (por exemplo).
2 - Criar uma classe que fabrica conexões com o BD para você.
3 - Criar uma classe DAO que inserirá e recuperará posteriormente os objetos no banco.
4 - Criar uma classe executável (com o método main) que fará a chamada dos métodos. Esse classe seria basicamente um laço while que leria linha a linha do arquivo (que tal Scanner?), criaria um objeto para cada linha e gravaria esse objeto no BD através de um DAO.
Achou complicado? Ou não entendeu? Sugiro que leia a FJ21 da Caelum e se tiver dúvidas é só voltar a postar.
Entendi sim, somente a parte do Scanner que eu nunca usei.
Poderia me dar um exemplo de como eu leria somente o CÓDIGO do produto por exemplo ?
Esse Scanner substituiria o readLine()?
Valeu!
Um exemplo de Scanner:
Scanner sc = new Scanner(new File("cadastros.dat"));
while (sc.hasNextLine()) { // enquanto houver mais linhas...
String linha = sc.nextLine(); // armazeno uma linha nessa variável
String[] valores = linha.split(" "); // separa cada palavra numa String
// e com isso você teria os valores um vetor, podendo manuseá-los como precisar
}
E respondendo sua pergunta: sim, substitui o método readLine() de BufferedReader. Qual a vantagem? Nesse caso não muita, mas o Scanner é muito mais poderoso que o BufferedReader. Leia a documentação dessa classe se você quiser saber mais sobre ela.
Kra, valeu, vou começar a estudar essa classe,mas pelo visto eh so java6 que tem suporte ne? terei que atualizar entao pra testar, valeu!
A partir da versão 1.5 do Java. Mas se você ainda usa a 1.4 já passou da hora de uma atualização, hein? 