[resolvido]ajuda aeeee galera por favor!- arquivo txt

26 respostas
evertonsilvagomesjav

Bom galera e o seguinte tenho a seguinte classe onde esta o metodo de criar o arquivo txt, ele lista pra mim no arquivo os dados que estao no listaClientes, porém eu queria gerar no mesmo arquivo junto dos dados da listaCliente as ContasCorrentes que estao em outra Classe e nao sei como fazer, ajuda ae galera!!!

package br.com.squadra.caixa.persistência.entidade;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;

import javax.swing.JOptionPane;
import javax.swing.text.html.HTMLDocument.Iterator;

import br.com.squadra.caixa.persistência.exceptions.ClienteExceptions;
import br.com.squadra.caixa.persistência.io.IO;
import br.com.squadra.caixa.persistência.principal.Principal;

public class Banco extends Cliente {

	String nome;
	String endereço;
	int i=0;
			
	private List<Cliente> listaClientes = new ArrayList<Cliente>();
	Principal pesquisa =new Principal();
	
	public List<Cliente> getListaClientes() {
		return listaClientes;
	}
	public void setListaClientes(List<Cliente> listaClientes) {
		this.listaClientes = listaClientes;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getEndereço() {
		return endereço;
	}
	public void setEndereço(String endereço) {
		this.endereço = endereço;
	}

	public boolean cadastrocliente (Cliente cliente) {
			listaClientes.add(cliente);
			i++;
			return true;
		
			}
	
	    public void exibirClientes() {  
		  int i=0;
	       for( i = 0;i < listaClientes.size(); i++) {    
	    	   if (listaClientes.get(i) != null) { 
	    		   	JOptionPane.showMessageDialog(null, "Usuarios Cadastrados: \n" +listaClientes.get(i) );   
	    	   	}else{
		  				JOptionPane.showMessageDialog(null,"Cliente Não Cadastrado");}
	       }
	    }
	     
		
	    public Cliente pesquisaClientes(Long id) throws ClienteExceptions{  
	    	for(int i = 0; i < listaClientes.size() ; i++){  
	    				if(listaClientes.get(i)!=null && listaClientes.get(i).getId().equals(id)){ 
	    	                   return listaClientes.get(i);
	    	         	   }
	    				
	    	 }
	    			
		     		throw new ClienteExceptions ("Cliente Não Encontrado");		  
	     }
	      
	   
	    
	    public Cliente excluirClientes (Long id) throws ClienteExceptions {
	      	for (int i = 0; i < listaClientes.size(); i++) {
				if (this.listaClientes.get(i)!= null && this.listaClientes.get(i).getId().equals(id)) {
					 Cliente cli = this.listaClientes.get(i);
					 		String sim=JOptionPane.showInputDialog("Deseja realmente Excluir: \n" +cli +"\n" +"Sim ou Não?" );
								if(sim.equalsIgnoreCase("sim")){;
									this.listaClientes=null;
									    return cli;
											}
				  }

			}

	      	throw new ClienteExceptions ("Exclusão não Concluída");
				
	   }
	   
	    public void incluirContaCorrente (Long id, ContaCorrente contacorrente) throws ClienteExceptions{
	       	Cliente c=pesquisaClientes(id);
	       	if(	c.getId() != null){
	    	c.adicionaContaCorrente(contacorrente);
	    
	       	}
	    }
	    
	    public void listarContaCorrente (Long id) throws ClienteExceptions{
	    	Cliente c =pesquisaClientes(id);
	    	   	
	       	c.imprimirContaCorrente();

	    	
	    }
	    
	    public void escreveArquivo(){ // METODO PARA CRIAR O ARQUIVO!!!
			
			String linha = "";
			
			for (int i = 0; i < this.listaClientes.size(); i++) {
				
				Cliente c = (Cliente) this.listaClientes.get(i);

				linha += c.getId() + ";" + c.getNome() + "," + c.getCpf() + "\n";
				
			}
			IO arquivo = new IO();
			arquivo.criaArquivo(linha);
		}
}
AQUI ESTA A CLASSE ONDE ESTAO ARRAYLIST DA CONTA CORRENTE.
package br.com.squadra.caixa.persistência.entidade;

import java.util.ArrayList;
import java.util.List;

import javax.swing.JOptionPane;

public class Cliente extends ContaCorrente {
	
	Long id;
	String nome;
	String cpf;
	int i=0;
	Banco b;
List<ContaCorrente> listaContaCorrente = new ArrayList<ContaCorrente>();	

	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getCpf() {
		return cpf;
	}
	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

    public String toString() {
        return "ID: " +id +"\n"  +"Nome: " +nome +"\n" +"CPF: " +cpf;
    }
    
    public void adicionaContaCorrente(ContaCorrente contacorrente){ //METODO PARA ADD A CONTA CORRENTE!!
    	this.listaContaCorrente.add(contacorrente);
    	JOptionPane.showMessageDialog(null, "Conta Corrente Incluida Com Sucesso\n " +"Numero da Conta: "+this.listaContaCorrente.get(i).getNumero() +"\n"
    								+"Saldo: "+this.listaContaCorrente.get(i).getSaldo() +"\n"
    								+"Cheque Especial: "+this.listaContaCorrente.get(i).getLimiteChequeEspecial());
    	i++;
    }
	public void imprimirContaCorrente (){
		
		for ( int i=0 ; i < this.listaContaCorrente.size() ; i++){
			
			JOptionPane.showMessageDialog(null, "Conta Corrente \n "  +listaContaCorrente.get(i).getNumero() +"\n"
											+"Saldo: " +listaContaCorrente.get(i).getSaldo() +"\n" 
											+"ChequeEspecial: " +listaContaCorrente.get(i).getLimiteChequeEspecial());
											
			
		
		}
		
		}
	}

E AQUI ESTA A CLASSE ONDE EU CRIO O ARQUIVO

import java.io.File;
	import java.io.FileNotFoundException;
	import java.io.FileWriter;
	import java.io.IOException;

	public class IO {
	
		public static void criaArquivo(String linha){
		File file = null;
		FileWriter fileWriter = null;
		
		try {
			file = new File(System.clearProperty("user.dir") + File.separator + "clientes.doc");
			
			fileWriter = new FileWriter(file, true);
			
			fileWriter.write(linha);
			
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			if(fileWriter != null){
				try {
					fileWriter.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}

26 Respostas

evertonsilvagomesjav

ALGUEMMM??

MaTToS

Tentou declarar a lista listaContaCorrente como static???

voce pode declara-la como estatica e puxar ela via objeto na hora de escrever no arquivo txt

evertonsilvagomesjav

nao etendi cara o que eu tentei fazer foi o seguinte no metodo de crirar o arquivo

public void criaArquivo (String msg){

tentei fazer assim:

public void criaArquivo (String msg, String msg1){

mas aki no:

fileWriter.write(msg);//nao aceita colocar outro parâmetro ou seja mais uma string.

tipo assim:

fileWriter.write(msg, msg1);//nao aceita colocar outro parâmetro ou seja mais uma string.

AJUDA AE GALERA?

lina
Oi,
fileWriter = new FileWriter(file, true);   
	               
fileWriter.write(linha);

O segundo parametro booleano passado em FileWriter significa: append.
Ou seja, apenas se o nome do arquivo for o mesmo ele irá concatenar o texto de antes com o de agora.

Se ele não está fazendo isso, a naba do nome do arquivo presente na variavel file está diferente.

Por favor, tenha um pouco de calma! nem todo mundo sabe sobre este assunto e nem todo mundo é obrigado a responder.

Tchauzin!

evertonsilvagomesjav

ta desulpa ai o desespero rs…

mas como vou resolver meu problema?

lina

Oi,

Coloque um sysout ou um debug na linha:

fileWriter = new FileWriter(file, true);

Verifique qual o nome do arquivo está sendo passado na variavel file.

Se existir diferença no nome quando executado pela segunda vez, está errado! pois ele só irá dar append no mesmo arquivo.

Tchauzin!

evertonsilvagomesjav

mas olha só eu ja estava usando o file normal, eu so troquei o parametro pra tentar concatenar mais coisas no arquivo como pode ta com nome diferente?

lina

Oi,

Tá… então eu não entendi a sua dúvida. Qual o problema? não está concatenando os arquivos ?

Tchauzin!

evertonsilvagomesjav

ele esta concatenando mas ele concatena um arraylist so de clientes…

em outra classe eu tenho um arraylist das contascorrentes, eu queria concatenar os dois no mesmo arquivo, o array de contas e o dos clientes.

lina

Oi,

Não seria só chamar o método criaArquivo(String linha){} ???

Tchauzin!

evertonsilvagomesjav

chamando o metodo dentro da ContaCorrente mas como vou jogar ele no mesmo arquivo que esta armazenando os cliente, tentei aqui mas nao consegui =/

lina

Oi,

É isso que estou querendo dizer. Após chamar o método para gerar o arquivo, ele deverá concatenar automaticamente (pois foi utilizado o true como append.)

Tchauzin!

italo.vendrameto

E ai Jovem,
Vamos ao seu problema, cada cliente possui uma lista de contas corrente, para você adicionar a cada linha de cliente do seu arquivo as contas desse cliente altere seu método para fica como o demonstrado abaixo:

public void escreveArquivo(){ // METODO PARA CRIAR O ARQUIVO!!! String linha = ""; for (int i = 0; i < this.listaClientes.size(); i++) { Cliente c = (Cliente) this.listaClientes.get(i); linha += c.getId() + ";" + c.getNome() + "," + c.getCpf(); for (int j = 0; j < c.listaContaCorrente.size(); j++) { linha += ","+ c.listaContaCorrente.get(j).numeroConta; } linha += "\n"; } IO arquivo = new IO(); arquivo.criaArquivo(linha); }

evertonsilvagomesjav

opa Italo tranquilo o problema e o seguinte minha lista de ContasCorrentes esta em outra Classe…

Lina eu tentei chamar o metodo dentro do ContaCorrente mas nao deu =/

evertonsilvagomesjav

olha como esta o metodo para gerar no arquivo as contascorrentes

public void arquivoContaCorrente( ){
   String arquivo = " ";
	   	   for(int i = 0; i < listaContaCorrente.size(); i++){
	   arquivo+= listaContaCorrente.get(i).getNumero() +";" +listaContaCorrente.get(i).getSaldo(); 
	   }
	   CriaArquivo io = new CriaArquivo();
	   io.criaArquivo(arquivo);
  }

e aqui para gerar os clientes no arquivo:

public void arquivo (){
   		String msg = "ID: ";
   		
   		for(int i=0; i < listaClientes.size(); i++){
   		msg+= +listaClientes.get(i).getId() +" "	+"Nome: " +listaClientes.get(i).getNome() +" "  +"CPF: " +listaClientes.get(i).getCpf() +"\n" ;
   			
   		}
   		
   		CriaArquivo c = new CriaArquivo();
   		c.criaArquivo(msg);
   		
   		 }
italo.vendrameto

Em qual classe esta a sua lista de contas?

lina

evertonsilvagomesjava:
opa Italo tranquilo o problema e o seguinte minha lista de ContasCorrentes esta em outra Classe…

Lina eu tentei chamar o metodo dentro do ContaCorrente mas nao deu =/

Oi,

Porque não deu?

Tchauzin!

evertonsilvagomesjav

o arrayList das ContasCorrentes estao na classe Cliente
o arraylist dos Clientes estao na classe Banco.

classe Banco contem:

public void arquivo (){
   		String msg = "ID: ";
   		
   		for(int i=0; i < listaClientes.size(); i++){
   		msg+= +listaClientes.get(i).getId() +" "	+"Nome: " +listaClientes.get(i).getNome() +" "  +"CPF: " +listaClientes.get(i).getCpf() +"\n" ;
   			
   		}
   		
   		CriaArquivo c = new CriaArquivo();
   		c.criaArquivo(msg);
   		
   		 }

clase Cliente contem:

public void arquivoContaCorrente( ){
   String arquivo = " ";
	   	   for(int i = 0; i < listaContaCorrente.size(); i++){
	   arquivo+= listaContaCorrente.get(i).getNumero() +";" +listaContaCorrente.get(i).getSaldo(); 
	   }
	   CriaArquivo io = new CriaArquivo();
	   io.criaArquivo(arquivo);
  }

E AKI ESTA A CLASSE QUE CRIA O ARQUIVO

public class CriaArquivo {
public void criaArquivo (String msg){
		File file = null;
		FileWriter fileWriter = null;
		Cliente cli =  null;
		try {
			file = new File(System.getProperty("user.dir") + File.separator + "clientes.doc");
			
			fileWriter = new FileWriter(file, true);
			 cli = new Cliente ();
			fileWriter.write(msg);
			
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			if(fileWriter != null){
				try {
					fileWriter.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
italo.vendrameto

Everton, verifique o método abaixo, vamos valida-lo linha a linha

public void escreveArquivo(){ // METODO PARA CRIAR O ARQUIVO!!! String linha = ""; for (int i = 0; i < this.listaClientes.size(); i++) { Cliente c = (Cliente) this.listaClientes.get(i); linha += c.getId() + ";" + c.getNome() + "," + c.getCpf(); for (int j = 0; j < c.listaContaCorrente.size(); j++) { linha += ","+ c.listaContaCorrente.get(j).numeroConta; } linha += "\n"; } IO arquivo = new IO(); arquivo.criaArquivo(linha); }

Temos no primeiro for que inicia na linha 3 e vai até a linha 10 onde passamos por todos os clientes
Temos no segundo for que inicia na linha 6 e vai ate a linha 8 passar por todas as contas que estão no arraylist de contas daquela instancia de clientes

lina

Oi,

Vou pedir para você enviar as classes completas para fazer um teste real aqui no meu ambiente.

Tchauzin!

evertonsilvagomesjav
segue as 3 classes compeletas Lina: Classe cliente
package com.squadra.caixa.persistencia.entidade;

import java.util.ArrayList;
import java.util.List;

import javax.swing.JOptionPane;

import com.squadra.caixa.persistencia.io.CriaArquivo;


public class Cliente  {

	Long id;
	String nome;
	String cpf;
	int a, b, i=0;
	
List<ContaCorrente> listaContaCorrente = new ArrayList<ContaCorrente>();	
		
	/**Encapsulamento get da variavel ID responsavel por retornar o conteudo da Variavel ID
	 * @return
	 */
	public Long getId() {
		return id;
	}
	/**Encapsulamento set da variavel id responsavel por setar um conteudo a variavel id
	 * @param id
	 */
	public void setId(Long id) {
		this.id = id;
	}
	/* (non-Javadoc)
	 * @Encapsulamento get da variavel nome responsavel por retornar o conteudo da variavel nome
	 */
	public String getNome() {
		return nome;
	}
	/* (non-Javadoc)
	 * @Encapsulamento set da variavel nome responsavel por setar um conteudo a variavel nome
	 */
	public void setNome(String nome) {
		this.nome = nome;
	}
	/**Encapsulamento get da variavel cpf responsavel por retornar o conteudo da variavel cpf
	 * @return
	 */
	public String getCpf() {
		return cpf;
	}
	/**Encapsulamento set da variavel cpf responsavel por setar um conteudo a variavel cpf
	 * @param cpf
	 */
	public void setCpf(String cpf) {
		this.cpf = cpf;
	}
			
    /* (non-Javadoc)
     * Metodo toString responsavel por mostrar nome cpf e id do Cliente Cadastrado apos ser feito O cadastro.
     */
    public String toString() {
        return "- ID : " + id  +"\n"  +" - Nome : " + nome +"\n" +"- CPF : " +cpf;
    }

    public void adicionaContaCorrente (ContaCorrente contaCorrente){
    	listaContaCorrente.add(contaCorrente);
    	JOptionPane.showMessageDialog(null, "Conta incluida com Sucesso");
    	i++;
    }
  
public void listarContacorrente (){
	
	   for(int i=0; i < listaContaCorrente.size(); i++){
		   if(this.listaContaCorrente.get(i) != null){
			  JOptionPane.showMessageDialog(null,"Conta Corrente Solicitada: \n" 
				   						+"Número da Conta: " +listaContaCorrente.get(i).getNumero() +"\n"
				   						+"Saldo: " +listaContaCorrente.get(i).getSaldo() +"\n"
				   						+"Limite Cheque Especial: " +listaContaCorrente.get(i).getLimiteChequeEspecial());
	
	   	   }else{
	   		   JOptionPane.showMessageDialog(null,"Este Cliente Não Possui Uma Conta Corrente");
	   	   }
	   	  }
}
 
   

public void arquivoContaCorrente( ){
   String arquivo = " ";
	   	   for(int i = 0; i < listaContaCorrente.size(); i++){
	   arquivo+= listaContaCorrente.get(i).getNumero() +";" +listaContaCorrente.get(i).getSaldo(); 
	   }
	   CriaArquivo io = new CriaArquivo();
	   io.criaArquivo(arquivo);
  }

	
      
}
Classe Banco
package com.squadra.caixa.persistencia.entidade;

import java.io.File;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import javax.naming.NotContextException;
import javax.swing.JOptionPane;

import com.squadra.caixa.persistencia.exceptions.Exceptions;
import com.squadra.caixa.persistencia.io.CriaArquivo;

public class Banco extends Cliente  {
	
	
	private String nome;
	private String endereço;
	int i=0;
	int contadorCliente=0;
	
	
	List<Cliente> listaClientes = new ArrayList<Cliente>();
	

	/** Metodo get retorna um nome setado á variavel nome
	 * @return
	 */
	public String getNome() {
		return nome;
	}

	/** Metodo set seta um nome á variavel nome
	 * @param nome
	 */
	public void setNome(String nome) {
		this.nome = nome;
	}

	/** Metodo get retorna o endereço setado á variavel endereço
	 * @return
	 */
	public String getEndereço() {
		return endereço;
	}

	/** Metodo set seta um endereço á variavel endereço
	 * @param endereço
	 */
	public void setEndereço(String endereço) {
		this.endereço = endereço;
	}

	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	public String toString() {
        return "Nome: " + nome + " Endereço: " +endereço;
    }

    private Collection clientes;
    public Collection getClientes(){
    	return clientes;
    }
    
    public void setClientes(Collection clientes) {
        this.clientes = clientes;
    }

    /**
     * @param Cliente cliente (variavel responsavel por receber objeto do tipo cliente)
     * @return true (retorna verdadeiro se ocorrer o cadastro)
     * @throws Exceptions (tratamento de exceção caso nao ocorra o cadastro)
     * Método Utilizado para Cadastro de Clientes.
     */
    public Cliente cadastrarCliente(Cliente cliente) throws Exceptions{  	 	
     	this.listaClientes.add(cliente);
       		Cliente cli = this.listaClientes.get(i);
       				i++;
       					return cli;
    	 }
    
    
     /**
     * Método Utilizado Para Listar Clientes Cadastrados.
     */
    public void listarClientes(){
    	 for(int i=0 ; this.listaClientes.size() > i ; i++){
    	 	 Cliente cli = this.listaClientes.get(i);
    	 	 		if(cli != null){
    	 	 			JOptionPane.showMessageDialog(null,"Usuários Cadastrados \n" +cli);
    	 	 		}else{
    	 	 			JOptionPane.showMessageDialog(null,"Não Existe Usuários Cadastrados");}
         }	
     }
			
     
     /**
     * @param Long id (variável responsável por receber id digitado pelo usuário para a pesquisa do cliente).
     * @return cliente (retora o cliente procurado)
     * @throws Exceptions (tratamento de exceção caso nao ache o Cliente pesquisado)
     * Método utilizado para a Pesquisa pelo ID do Cliente.
     */
    public Cliente pesquisaCliente(Long id) throws Exceptions{     	     
    	   for( int i = 0; i < this.listaClientes.size() ; i++){   
    	         if(this.listaClientes.get(i) != null && this.listaClientes.get(i).getId().equals(id)){   
    	               Cliente cliente = this.listaClientes.get(i);
    	               		return cliente;
    	                   
    	          }           
    	    }
   	throw new Exceptions ("Cliente Não Encontrado");  
     }
     
     /**
     * @param Long id (variável responsável por receber o id solicitado para a exclusão do Cliente).
     * @return cli (retorna o cliente excluído).
     * @throws Exceptions (tratamento de exceção caso não exclua o cliente desejado).
     * Método utilizado para exclusão de Clientes.
     */
    public Cliente excluirCliente (Long id) throws Exceptions{
    	 for(int i=0; i < this.listaClientes.size(); i++){
    		 if(this.listaClientes.get(i)!= null && this.listaClientes.get(i).getId().equals(id)){;
    		 		String sim = JOptionPane.showInputDialog(null,"Deseja Realmente Excluir? \n" +listaClientes.get(i) +"\n" +"Sim ou Não ?");
    		 				if (sim.equalsIgnoreCase("sim")){;
    		 					Cliente cli = this.listaClientes.get(i);
    		 							this.listaClientes = null;
    		 									return cli;
    		 				}
        	 	}	
    	 	
    	 }	
    throw new Exceptions ("Impossível Excluir  \nExclusão Não Realizada");	       
    }
    
    public void incluirContaCorrente (Long id, ContaCorrente contaCorrente) throws Exceptions{
    	Cliente cli = pesquisaCliente(id);
    	
    	cli.adicionaContaCorrente(contaCorrente);
    	   	
    }
  
   	public void imprimirContaCorrente(Long id) throws Exceptions{
   		Cliente cliente = new Cliente(); 
   		
   		cliente =pesquisaCliente(id);
   		JOptionPane.showMessageDialog(null,"Cliente: \n" +"Nome: "+cliente.getNome() +"\n" +"CPF: " +cliente.getCpf() );
   		
   		try{
   		cliente.listarContacorrente();
    	}catch(Exception e){
    		JOptionPane.showMessageDialog(null, " " +e.getMessage());
    	}
   	}
    	

   	public void arquivo (){
   		String msg = "ID: ";
   		
   		for(int i=0; i < listaClientes.size(); i++){
   		msg+= +listaClientes.get(i).getId() +" "	+"Nome: " +listaClientes.get(i).getNome() +" "  +"CPF: " +listaClientes.get(i).getCpf() +"\n" ;
   			
   		}
   		
   		CriaArquivo c = new CriaArquivo();
   		c.criaArquivo(msg);
   		
   		 }
   	
   	
 
}
Classe IO:
package com.squadra.caixa.persistencia.io;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;

import com.squadra.caixa.persistencia.entidade.Cliente;

public class CriaArquivo {
public void criaArquivo (String msg){
		File file = null;
		FileWriter fileWriter = null;
		Cliente cli =  null;
		try {
			file = new File(System.getProperty("user.dir") + File.separator + "clientes.doc");
			
			fileWriter = new FileWriter(file, true);
			 cli = new Cliente ();
			fileWriter.write(msg);
			
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			if(fileWriter != null){
				try {
					fileWriter.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
lina

Oi,

Faltou a classe ContaCorrente

Tchauzin!

evertonsilvagomesjav

AI esta a classe ContaCorrente

package com.squadra.caixa.persistencia.entidade;

public class ContaCorrente extends Conta {

	
	double limiteChequeEspecial;

	public double getLimiteChequeEspecial() {
		return limiteChequeEspecial;
	}

	public void setLimiteChequeEspecial(double limiteChequeEspecial) {
		this.limiteChequeEspecial = limiteChequeEspecial;
	}
	
    public String toString() {
        return super.toString() + " - Limite cheque especial: " + limiteChequeEspecial;
    }





}
lina

Oi,

Agora faltou a classe Conta e a classe que roda essa aplicação (main). rsrs
pelo visto não vai ser facil!!! tem muitos extends! =D

Obs: Se preferir, pode mandar o pacote zipado para meu e-mail, assim que possível analisarei!

Tchauzin!

lina

Oi,

O que acontece é que a listaContaCorrente zerava ao sair da classe Cliente.

Então, tive que mudar o método escreveArquivo() da classe Banco.

public void escreveArquivo() {

	String linha = "";
			
	for (int i = 0; i < this.listaClientes.size(); i++) {
				
		Cliente c = (Cliente) this.listaClientes.get(i);

		linha += c.getId() + ";" + c.getNome() + "," + c.getCpf() + "\n";
			
		try
		{
			c = pesquisaClientes(c.getId());
				
			if (c.listaContaCorrente.size() > 0) {
				linha += c.listaContaCorrente.get(i).numero + ";" + c.listaContaCorrente.get(i).saldo + "," + c.listaContaCorrente.get(i).getLimiteChequeEspecial() + "\n";
			}
		}
		catch (ClienteExceptions e)
		{
			// Cliente não encontrado.
		}
	}
	IO arquivo = new IO();
	arquivo.criaArquivo(linha);	
			
}

Ou seja, primeiro é pesquisado o cliente e depois busca a conta corrente dele. Entendeu ?

Tchauzin!

evertonsilvagomesjav

Lina muito muito maiiis muitooooo obrigado pela ajuda que vc me deu!!!

Criado 16 de setembro de 2009
Ultima resposta 18 de set. de 2009
Respostas 26
Participantes 4