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

Oi,

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

Tchauzin!

segue as 3 classes compeletas Lina:
Classe cliente

[code]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 listaContaCorrente = new ArrayList();

/**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);
}

}

[/code]

Classe Banco

[code]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);
	
	 }

} [/code]

Classe IO:

[code]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();
			}
		}
	}
}

[/code]

Oi,

Faltou a classe ContaCorrente

Tchauzin!

AI esta a classe ContaCorrente

[code]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;
}

}[/code]

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!

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.

[code]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);	

}[/code]

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

Tchauzin!

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