Scritp/programa pra migrar o banco de dados

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.

Link: http://java.sun.com/javase/6/docs/api/java/util/Scanner.html

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? :wink: