Eu estou com mais ou menos 5 métodos que esses captura os dados de uma Collection que recebeu os dados do banco, e preciso pegar esses valores e colocá-los em um arquivo. Com isso os 5 métodos, teriam que gerar 5 arquivos, mas isso não acontece. No primeiro método gera normalmente, mas nas outras não gera. Alguem sabe como resolver isso?
publicbooleansalvaRegistrosCliente(Collection<StarClienteDTO>registros,Stringtabela,Stringcolunas,StringBuilderdiretorio,Stringarquivo){/* * Inicializa como false, porque não se iniciou * a transferencia dos dados para o arquivo */booleanretorno=false;/* * Variavel que irá incluir os dados dentro da * instrução SQL */StringBuilderinstrucao_sql=newStringBuilder();/* * Variaveis que serão usados * para criar o arquivo e então adicionar cada valor * adicionado no instrucao_sql para o arquivo criado */Filedir_arquivo=null;FileWritersalvar=null;try{/* * Adicionando o nome do arquivo no diretorio escolhido * pelo usuario. */diretorio.append("/").append(arquivo.toString());/* * Instanciando o objeto e inserindo o caminho * e o nome do arquivo para ser criado */dir_arquivo=newFile(diretorio.toString());/* * Criando um objeto do tipo FileWriter * que irá criar o arquivo no diretorio escolhido * e irá nomear o arquivo de acordo com o que * o usuário digitou. */salvar=newFileWriter(dir_arquivo);/* * Criando um objeto do tipo PrintWriter * para escrever no arquivo criado pelo * objeto salvar. */PrintWriterescreve=newPrintWriter(salvar);/* * Criando um looping para percorrer * toda a Collection e a cada índice atribuir * seu valor para a variavel dados */for(Objectdados:registros){/*Atribuindo a instrução SQL mais os valores *capturados da Collection. */instrucao_sql.delete(0,instrucao_sql.length());instrucao_sql.append("INSERT INTO");instrucao_sql.append(" "+tabela+" ");instrucao_sql.append("(");instrucao_sql.append(colunas);/*Fecha o parentese e coloca a instrucao VALUES*/instrucao_sql.append(") VALUES (");/*Inicializando um objeto cliente para receber os valores * de dados, mas fazendo um casting destes dados. */StarClienteDTOcliente=(StarClienteDTO)dados;/*Adicionando na variavel instrucao_sql os dados*/instrucao_sql.append(cliente.getsCli_Cod()+",");instrucao_sql.append("'"+cliente.getsCli_RazaoSocial()+"',");instrucao_sql.append("'"+cliente.getsCli_Cnpj()+"',");instrucao_sql.append("'"+cliente.getsCli_Nome()+"',");instrucao_sql.append("'"+cliente.getsCli_Uf()+"',");instrucao_sql.append("'"+cliente.getsCli_Ie()+"',");instrucao_sql.append("'"+cliente.getsCli_Endereco()+"',");instrucao_sql.append("'"+cliente.getsCli_Cep()+"',");instrucao_sql.append("'"+cliente.getsCli_Cidade()+"',");instrucao_sql.append("'"+cliente.getsCli_Telefone()+"',");instrucao_sql.append("'"+cliente.getsCli_Contato()+"',");instrucao_sql.append("'"+cliente.getsCli_Email()+"'");instrucao_sql.append(")");/* * Escrevendo o arquivo */escreve.println(instrucao_sql.toString());/* * Limpa a variavel */instrucao_sql.delete(0,instrucao_sql.length());}/* * Fecha o PrintWriter */escreve.close();salvar.close();retorno=true;}catch(Exceptione){System.out.println("Erro ao criar o arquivo: "+e.getClass().getName());}returnretorno;}// fim do metodo salvaRegistroCliente
gilsonsbf
Bom pessoal,
Eu só preciso criar mais de um arquivo simultaneamente, sendo que cada arquivo criado sera usado um método para isso. Ou seja, 5 métodos vão criar 5 arquivos. Alguem sabe como posso proceder?
gilsonsbf
Bom pessoal,
Eu consegui resolver o problema. Substitui o StringBuilder do parametro para String. Mas não entendi o porque que não deu. Vou pesquisar, e conseguindo a explicação colocarei aqui ok?