AJUDA - Ler arquivo e jogar no banco

Pessoal to com um problema preciso ler um arquivo .txt e salvar os dados em um banco separando a fraze em colunas no banco;

ex: tenho um fraze qualquer “Você é um cara legal” e uma palavra “TESTE”

preciso inserir a fraze no Campo1 e a palavra no Campo2 do banco.

Tabela
Campo1 - “Você é um cara legal”
Campo2 - “TESTE”

to tentando fazer assim:

public void importaArquivo() throws FileNotFoundException, IOException {
//configurando diretório do arquivo
FacesContext fc = FacesContext.getCurrentInstance();
ServletContext sc = (ServletContext) fc.getExternalContext().getContext();
String dirArquivo = sc.getRealPath(“arquivo.txt”);

    File file = new File(dirArquivo);

    try {
        BufferedReader br = new BufferedReader(new FileReader(file));
        String s = br.readLine();
        while (s != null) {
            System.out.println(s);
             s = br.readLine();
            StringTokenizer st = new StringTokenizer(s, ":");

            //depois vo inserir no banco 
        }
        br.close();

    } catch (FileNotFoundException e) {
        e.printStackTrace();
        System.err.println("Arquivo não encontrado:" + file);
    }
}

Alguem poderia me ajudar ?

  1. É frase, não fraze
  2. Cara, para seu código ficar mais “legível”, use padrões do forum, como a tag “[ code ]”, fica mais fácil da gente entender. Se você é novo no tópico, dá uma olhada em http://guj.com.br/posts/list/50115.java

Ex.:

//ISSO ESTA DENTRO DO CODE!

Hehe…
Clica em editar, e ajuste seu código.

: (Dois pontos) é o separador da coluna?

Você já estava indo bem fazendo o código:

[code]BufferedReader reader = //instancia como vc fez
String s = null;

while ((s = reader.readLine()) != null)
{
String[] colunas = s.split(":");

// insira os dados de dentro de colunas no banco.
}
[/code]

Era só isso a dúvida, ou precisa de outra coisa?

na verdade a minha duvida era realmente quando ao separador … no meu texto eu não tenho nenhum separador sou obrigado a colocar hum ?

e aí amigo.

Você vai precisar de algum separador no seu texto sim. Porque como o leitor do arquivo vai saber quando formou uma palavras ou frase que deverá ser jogada no banco?

Após ter um separador, vc usa o split(), tal como o jovem acima falou :wink: