Ajuda no codigo

Pesoal o lance é simples, quero fazer um leitura de um arquivo txt para ver se ele tem a pessoa que vai ser cadastrada, se por acaso a pessoa não estiver cadastrada ele deve entrar com todos os dados da pessoa no topo do arquivo.

Porem isso esta sendo muito dificio para mim, por isso estou enviando o codigo para ver se vcs podem me ajudar.

Valew…

package banco; 
import java.io.*; 
/** 
 * 
 * @author Eu 
 */ 
public class Cliente { 
    static String Nome,Cpf,Rua,Fone,Bairro,Cidade,Cep,Estado,J; 
    private static RandomAccessFile Arq,Arq1; 
    static String[] Z; 
    /** Creates a new instance of Cliente */ 
    public Cliente() { 
        
    } 
    String Criar(String A,String B,String C,String D,String E,String F,String G,String H) throws IOException { 
        Nome=A; 
        Cpf=B; 
        Rua=C; 
        Fone=D; 
        Bairro=E; 
        Cidade=F; 
        Cep=G; 
        Estado=H; 
        try{ 
            Arq = new RandomAccessFile(new File("c:\\Cliente.txt"),"rw"); 
        } catch (FileNotFoundException K){ 
            File Fil=new File("c:\\Cliente.txt"); 
            try{ 
                Arq= new RandomAccessFile(new File("c:\\Cliente.txt"),"rw"); 
                Arq.writeChars("-;-;-;-;-;-;-;-"); 
                
            } 
            catch(IOException L){ 
                
            } 
        } 
        try{ 
            J=Arq.readLine(); 
            Z=J.split(";"); 
        } catch(IOException K){ 
            
        } 
        while (!Z[0].equals("-")) { 
            if(Z[1].equals(Cpf)) { 
                return "Usuario já existe"; 
            } 
            try{ 
                J=Arq.readLine(); 
                Z=J.split(";"); 
            } catch(IOException K){ 
                
            } 
        } 
        Arq.seek(1); 
        
        String[] Y = null,W=null; 
        Y[1]=Arq.readLine(); 
        W=Y[1].split(";"); 
        int f=2; 
        while (W[0]!="-") { 
            Y[f]=Arq.readLine(); 
            W=Y[f].split(";"); 
            f++; 
        } 
        
        try { 
            Arq.seek(0); 
            //Arq.writeChars(Nome+";"+Cpf+";"+Rua+";"+Fone+";"+Bairro+";"+Cidade+";"+Cep+";"+Estado+"\n"); 
            Y[0]=Nome+";"+Cpf+";"+Rua+";"+Fone+";"+Bairro+";"+Cidade+";"+Cep+";"+Estado+"\n"; 
            for (int j=0;j<=f;j++) { 
                Arq.writeUTF(Y[j]); 
            } 
        } catch(IOException K) { 
            
        } 
        
        try { 
            Arq.close(); 
        } catch (IOException K) { 
            
        } 
        return "Criado!"; 
    } 
 

:sad:

Peguei o seu código e o modifiquei bastante, ficou quase irreconhecível, mas faz o que você quer que faça. Fiz utilizando apenas nome e cpf pra dar menos trabalho, agora é só você adicionar os outros atributos (bairro, cidade, etc…). Depois colocar ai se ficou no jeito. Falow. :cool:

import java.io.*; 

public class Cliente { 
  
  private String nome, cpf /*,Rua,Fone,Bairro,Cidade,Cep,Estado*/; 
  private static RandomAccessFile arq;

  public Cliente(String nome, String cpf) {
    this.nome = nome;
    this.cpf = cpf;
  }
  
  public void setNome(String nome) {
    this.nome = nome;
  }
  
  public void setCPF(String CPF) {
    this.cpf = cpf;
  } 
  
  public String getNome() {
    return nome;
  }
  
  public String getCPF() {
    return cpf;
  }


  public static void abrir() {
    try{ 
      arq = new RandomAccessFile(new File("c:\\Cliente.txt"), "rw"); 
    } catch(IOException e){
      e.printStackTrace();
    }
  }
  

  public static void fechar() {
    try {
      arq.close(); 
    } catch (IOException e) {
      e.printStackTrace();
    }  
  }    

  public static boolean existeCPF(String cpf) {
    String registro = null;
    String[] campos = null;
    try {
      arq.seek(0);
      while ( arq.getFilePointer() < arq.length() ) {
        registro = arq.readLine(); 
        campos = registro.split(";"); 
        if (campos[1].equals(cpf)) return true; 
      }
    } catch(Exception e) {
      e.printStackTrace();
    }
    return false;
  }


  public boolean inserir() {
    try { 
      arq.seek( arq.length() );
      String registro = nome + ";" + cpf + "\n";
      arq.writeBytes( registro );
      return true;
    } catch(IOException e) {
      return false;
    } 
  }
  

  public static void main( String args[]) {
    Cliente c = new Cliente("Efren", "780.050.365.78");
    c.abrir();
    if (c.existeCPF( c.getCPF() ))
      System.out.println("CPF existe!");
    else {
      c.inserir();
      System.out.println("Registro inserido");  
    }  
    c.fechar();  
  }


}