Gerar varios simultaneamente

4 respostas
gilsonsbf

Ola Pessoal,

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?

VLW!!

4 Respostas

Jose111

posta o código para nos analisarmos.

gilsonsbf

Não está endentado pq o NetBeans modificou aqui.

public boolean salvaRegistrosCliente(Collection<StarClienteDTO> registros, String tabela, String colunas,StringBuilder diretorio, String arquivo){
                /*
       * Inicializa como false, porque não se iniciou
       * a transferencia dos dados para o arquivo
       */
		boolean retorno = false;

		/*
       * Variavel que irá incluir os dados dentro da
       * instrução SQL
       */
		StringBuilder instrucao_sql = new StringBuilder();

		/*
       * Variaveis  que serão usados
       * para criar o arquivo e então adicionar cada valor
       * adicionado no instrucao_sql para o arquivo criado
       */
		File dir_arquivo = null;
		FileWriter salvar = 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 = new File(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 = new FileWriter(dir_arquivo);

			/*
	  * Criando um objeto do tipo PrintWriter
	  * para escrever no arquivo criado pelo
	  * objeto salvar.
	  */
			PrintWriter escreve = new PrintWriter(salvar);


			/*
	  * Criando um looping para percorrer
	  * toda a Collection e a cada índice atribuir
	  * seu valor para a variavel dados
	  */
			for(Object dados: 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.
             */
                                StarClienteDTO cliente = (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 (Exception e) {
			System.out.println("Erro ao criar o arquivo: "+e.getClass().getName());
		}
		return retorno;
	}// 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?

VLW!!!

Criado 10 de julho de 2009
Ultima resposta 16 de jul. de 2009
Respostas 4
Participantes 2