Dúvida: ler txt para inserir no BD

Bom dia!

Pessoal, conforme o código abaixo funciona(Pesquisei no guj), inseri no banco, porém caso encontre um campo “” vazio ele ignora e não salva ou ainda tenta salvar o próximo campo, no campo vazio.

Arquivo: Pessoa.txt
1,“tubarao”,“22”
2,"", 25

[code]
public class TestetoSql {
public static void main(String args[]) {

	try {

		Class.forName("com.mysql.jdbc.Driver");
		Connection con = DriverManager.getConnection(
				"jdbc:mysql://localhost:3306/teste", "root", "java");
		Statement stm = con.createStatement();

		BufferedReader reader = new BufferedReader(new FileReader("c://Temp/pessoa.txt"));
		String dados[] = new String[3];
		String linha = reader.readLine();

		while (linha != null) {

			StringTokenizer st = new StringTokenizer(linha, ",\"");

			dados[0] = st.nextToken();
			dados[1] = st.nextToken();
			dados[2] = st.nextToken();
			
			stm.executeUpdate("insert into pessoa (codigo,nome,idade) values ('"+ dados[0] + "','"
							+ dados[1] + "','" + dados[2] + "')");

			linha = reader.readLine();
		}
		System.out.println("INSERT EXECUTADO COM SUCESSO");
	} catch (Exception e) {

		System.err.println("Erro: " + e.getMessage());
	}
}

}[/code]

O que eu faço para ele verificar que o campo está vazio e gravar no banco vazio?

Não use StringTokenizer para ler arquivos CSV (“comma-separated values”). Procure por CSV e Java, que deve haver uma maneira melhor. Se não achar, use StreamTokenizer, não StringTokenizer. Esse StreamTokenizer é mais chato de usar, mas para esse tipo de texto (que contém textos entre aspas, que podem conter vírgulas dentro deles - por exemplo:

1,“Rua dos Bobos, número 0”,“22”

ele funciona direitinho.

Bom dia !!

Thingol vc tem algum exemplo para me ajudar?

Cara, tó com o chefe no meu pé por causa disso, o problema do código abaixo é quando ele tem “” que é vazio…

Valeu, estou pesquisando o que vc me falou…

Obrigado.