archivos en java

ANDREA
08 de Mayo del 2006
tengo una tarea para mi calse de java donde debo crear un arcivo en txt que guarde los datos de un cliente solo nombre y cedul ademas de esto debo buscar y borrar un determinado cliente, esto sin utilizar constructores solo con los metodos get y set debo hacer en modelo vista control. Voy a colocar lo qeu levo para que alguien me colabore la verdad no soy buena para programar y no he podido terminar de hacerlo.

CONTROL:
package control;
import java.io.*;
import java.awt.List;
import modelo.MCliente;

public class KCliente {
long pos,pos2;
long tam;

String Acliente=new String("Acliente.txt");

// Define el archivo
String Temp=new String("temp.txt");
MCliente MCliente1;
int accion;


public KCliente(modelo.MCliente MCliente1,int accion) {
System.out.println("entró en el constructor de KCliente");
System.out.println("accion="+accion);



if(accion==1){
try {

String nombre="",cedula="";
// Abre el archivo
RandomAccessFile objarch=new RandomAccessFile(Acliente,"rw");


pos= objarch.length();// longitud del registro

System.out.println("pos="+pos);
objarch.seek(pos);

// clave
objarch.writeBytes(MCliente1.getClave()+" ");
//cedula

cedula=MCliente1.getCedula();
if (cedula.length() < 10)
{ for(int i=cedula.length(); i <10; i++)
cedula=cedula+" ";}
else{ cedula=cedula.substring(0,10); };
objarch.writeBytes(cedula + " ");

System.out.println("Llamó a cedula="+cedula);
//nombre
nombre=MCliente1.getNombre();
if (nombre.length() < 15)
{ for(int i=nombre.length(); i <15; i++)
nombre=nombre+" ";}
else{ nombre=nombre.substring(0,15); };
objarch.writeBytes(nombre);

}
catch (IOException e){System.out.println(e.getMessage());} //Si sucede un error

}


if(accion==2){
try {

String nombre1="",cedula1="",tel1="",credito1="",dir1="";
long cresgistro=0,tregsitros=65,clave=0;
int i,l,h,q,w,e;

// Abre el archivo
RandomAccessFile objarch=new RandomAccessFile(Acliente,"rw");

cresgistro=objarch.length()/tregsitros;



//clave
clave=MCliente1.getClave();
System.out.println(clave);
objarch.seek(clave*tregsitros);
System.out.println("Estamos en Actualizar");
clave=Integer.parseInt(calculoclave(objarch.readLine()));
System.out.println(clave);
objarch.seek(objarch.getFilePointer()-tregsitros);
System.out.println(objarch.getFilePointer());
objarch.writeBytes(MCliente1.getClave()+" ");
cedula1=MCliente1.getCedula();
if (cedula1.length() < 10)
{ for( i=cedula1.length(); i <10; i++)
cedula1=cedula1+" ";}
else{ cedula1=cedula1.substring(0,10); };
objarch.writeBytes(cedula1 + " ");


//nombre
nombre1=MCliente1.getNombre();
if (nombre1.length() < 15)
{ for( i=nombre1.length(); i <15; i++)
nombre1=nombre1+" ";}
else{ nombre1=nombre1.substring(0,15); };
objarch.writeBytes(nombre1);

}
catch (IOException e){System.out.println(e.getMessage());} //Si sucede un error
}
}

//clave
public String calculoclave(String line)
{
return line.substring(0,1);
}
//cedula
public String calculocedula(String line)
{
return line.substring(2,13);
}
//nombre
public String calculonombre(String line)
{
return line.substring(13,28);
}
}




MODELO:
package modelo;



public class MCliente {

String nombre,cedula;
long clavet;
long clave;


public MCliente() {

}


//para cedula
public String getCedula() {
return cedula;
}
public void setCedula(String cedula) {
this.cedula = cedula;

}

//para nombre
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}


//clave
public long getClave() {
return clavet;
}
public void setClave(long clave) {
this.clavet = clave;
}
}



VISTA:

package vista;

import java.awt.*;
import java.awt.event.*;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import javax.swing.*;
import modelo.MCliente;
import control.KCliente;

public class VCliente extends Frame implements ActionListener {
/**
* Comment for <code>serialVersionUID</code>
*/
private static final long serialVersionUID = 4885223712775325835L;
private static final String MCliente1 = null;
String ContCliente = new String("ContCliente.txt");
JLabel l1 ;
JLabel l2;
JLabel l6 ;
public JTextField t1;
public JTextField t2 ;
public JTextField t6 ;
JButton b1 ;
JButton b3 ;
JButton b6 ;
JLabel l7;
long clave;

public static void main(String args[]) {
new VCliente();
}

public VCliente() {
super("CLIENTE");

l1 = new JLabel();
l2 = new JLabel();
l6 = new JLabel();
t1 = new JTextField();
t2 = new JTextField();
t6 = new JTextField();
b1 = new JButton();
b3 = new JButton();
b6 = new JButton();
l7=new JLabel();

setLayout(null);


setName("CLIENTE");
l1.setText("Nombre :"); //colocar nombre
add(l1); // add al panel
l1.reshape(40, 90, 60, 25); // reshape

l2.setText("Cedula :");
add(l2);
l2.reshape(40, 120, 50, 25);


l7.setText("ID Unico: ");
add(l7);
l7.reshape(300, 30, 100, 20);

add(l6);
l6.reshape(150,325,200,25);


add(t1);
t1.reshape(100, 90, 130, 20);

add(t6);
t6.reshape(250, 190, 100, 20);
t6.setText("Insertar clave");
t6.enable(false);

add(t2);
t2.reshape(100, 120, 130, 20);

b1.setLabel("Ingresar");
add(b1);
b1.reshape(40, 280, 90, 23);

b3.setLabel("Cerrar");
add(b3);
b3.reshape(285, 280, 80, 23);

b6.setLabel("Buscarborrar");
add(b6);
b6.reshape(150, 280, 115, 23);



b1.setActionCommand("Ingresar");//Define el comando para la accion
b1.addActionListener(this);//Agrega el escuchador de eventos
b3.setActionCommand("Cerrar");//Define el comando para la accion
b3.addActionListener(this);//Agrega el escuchador de eventos
b6.setActionCommand("Buscarborrar");//Define el comando para la accion
b6.addActionListener(this);//Agrega el escuchador de eventos

this.show();// muestra EL FORMULARIO
this.setSize(410, 370);// a este formulario aplique este tamaño
Dimension pantalla, cuadro;
pantalla = Toolkit.getDefaultToolkit().getScreenSize();
cuadro = this.getSize();

this.setLocation(((pantalla.width - cuadro.width)/2), (pantalla.height - cuadro.height)/2);
setResizable(false);
}
// no permite ampliar el cuadro
// esta es una ya existente


public void actionPerformed(ActionEvent e)
{

String comando=e.getActionCommand();
if (comando.equals("Ingresar")){contadorclientes();guardar();t6.enable(true);}
else if (comando.equals("Cerrar"))dispose();

}

private void guardar() {
System.out.println("Llamó a Guardar");
MCliente Mcliente1 = new MCliente();
control.KCliente clientecontrol= new control.KCliente(Mcliente1,1);
//estos son los parametros que se reciben
}
private void actualizar() {
// TODO Auto-generated method stub

System.out.println("Llamó a Actualizar");
long clave;
clave=Integer.parseInt(t6.getText());
MCliente Mcliente1 = new MCliente();
control.KCliente clientecontrol= new control.KCliente(Mcliente1,2);
}



public void contadorclientes()
{
long pos,cont=0,cont2=1;
try
{
RandomAccessFile contadorcliente=new RandomAccessFile(ContCliente,"rw");
pos = contadorcliente.length();
contadorcliente.seek(pos);

if (contadorcliente.readLine()==null)
{
cont=contadorcliente.length();
contadorcliente.writeBytes(cont2 + "");
System.out.println(cont);

}
contadorcliente.close();
l7.setText("ID Unico: " + cont);
this.clave=cont;


}

catch (IOException e){System.out.println(e.getMessage());} //Si sucede un error
}

private void nuevo() {
t1.setText("");
t2.setText("");
t6.setText("Insertar Clave");
}

}

GRACIASSS