estamos creando un proyecto con el cual debemos simula una cuenta corriente donde se ingresa codigo nombre apellido y saldo
toda esta informacion se guarda en un archivo txt asta ahi todo bien, ahora mi problema es: no comprendo como rescatar ciertos datos del archivo txt, ejemplo: debo mostrar solo datos que contengar saldos negativo o solo datos que contegan saldos positivos.
pensabamos que debiamos guardar cada linea de datos en un arreglo distinto, y asi poder manejar los datos a nuestra antojo pero no sabemos como implementar nuestra idea
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//ver registros
try{
FileReader fr = new FileReader("clientes.txt");
BufferedReader bf = new BufferedReader(fr);
String linea;
String linea2="";
while ((linea = bf.readLine())!=null)
linea2+=linea+"\n";
jTextArea1.setText(linea2);
Ah chin.... con qué separas tus datos en cada línea? es decir, separas con comas, pipes, o algo así ?
Porque bien podrías tomar cada renglon, partirlo, ya sea con el método de la clase o bien usando la clase ....
Bueno, suponiendo que haces eso, sabes entonces que (por ejemplo usando ) obtienenes un arreglo unidimensional de objetos , entooooonces, pues nada mas ubicas la(s) posición(es) de el(los) objetos a comparar, los comparas y pues.... me imagino que vas a ejecutar algo con el resultado de ésa comparación...y,y,y..... y ya...
FileWriter texto= new FileWriter("clientes.txt", true);
entrada=jTextField1.getText().trim();
codigo = Integer.valueOf(entrada);
exception= record.Account(codigo);
if(exception==true){
throw new exceptionAccount();
}
nombre=jTextField2.getText().trim();
exception1= record.firstName(nombre);
if(exception1==true){
throw new exceptionfirstName();
}
apellido =jTextField3.getText().trim();
exception2= record.firstName(apellido);
if(exception2==true){
throw new exceptionlastName();
}
texto.write(codigo+" ");
texto.write(nombre+" ");
texto.write(apellido+" ");
texto.close();
} catch(NumberFormatException ex){
jTextField1.selectAll();
jTextField1.requestFocus();
JOptionPane.showMessageDialog(null,"Codigo Invalido, esta en Blanco o tiene letras","Error en ingreso de codigo",JOptionPane.ERROR_MESSAGE);
return;
}
catch (exceptionAccount num) {
if(exception){
JOptionPane.showMessageDialog(null,"Codigo Invalido!! debe estar entre 1 y 200","Codigo ERRONEO",JOptionPane.ERROR_MESSAGE);
jTextField1.selectAll();
jTextField1.requestFocus();
return;
}
} catch (exceptionfirstName le) {
if(exception1){
JOptionPane.showMessageDialog(null,"Nombre INCOMPLETO!!!","Error en ingreso de nombre",JOptionPane.ERROR_MESSAGE);
jTextField2.selectAll();
jTextField2.requestFocus();
return;
}
} catch (exceptionlastName let) {
if(exception2){
JOptionPane.showMessageDialog(null,"Apellido INCOMPLETO!!!","Error en ingreso de apellido",JOptionPane.ERROR_MESSAGE);
jTextField3.selectAll();
jTextField3.requestFocus();
return;
}
} catch (Exception e) {
JOptionPane jOP = new JOptionPane();
JOptionPane.showMessageDialog(null, "Error de escritura, archivo de errores","Error de Escritura", 0);
}
try{
FileWriter texto= new FileWriter("clientes.txt", true);
entrada=jTextField4.getText().trim();
saldo = Integer.valueOf(entrada);
exception3 = record.balance(saldo);
if(exception3 == true){
throw new exceptionbalance();
} else
if(exception3==false){
JOptionPane.showMessageDialog(null,"Registro Guardado EXITOSAMENTE","Ingreso de registro",JOptionPane.INFORMATION_MESSAGE); }
texto.write(saldo+" "+"\n");
texto.close();
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
jTextArea1.setText("");
} catch(NumberFormatException m){
jTextField4.selectAll();
jTextField4.requestFocus();
JOptionPane.showMessageDialog(null,"Monto invalido, esta en Blanco o tiene letras","Error en ingreso de monto",JOptionPane.ERROR_MESSAGE);
return;
} catch(exceptionbalance nume){
if(exception3){
JOptionPane.showMessageDialog(null,"Monto debe estar entre -100.000 y 10.000.000","Error en monto de dinero Ingresado",JOptionPane.ERROR_MESSAGE);
jTextField4.selectAll();
jTextField4.requestFocus();
return;
}
} catch (Exception e) {
JOptionPane jOP = new JOptionPane();
JOptionPane.showMessageDialog(null, "Error de escritura, archivo de errores","Error de Escritura", 0);
}
}//GEN-LAST:event_jButton1ActionPerformed
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton6ActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jButton6ActionPerformed
private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton7ActionPerformed
// TODO add your handling code here:
try{
FileReader fr = new FileReader("clientes.txt");
BufferedReader bf = new BufferedReader(fr);
El separador debe estar estar ( valga la rebuznancia ) separando los campos, a su vez que lo implementas en código...
es decir, en tu archivo puedes tener:
El separador es la coma ( , ) entonces, puedes, en tu fragmento de código, donde está lo de la lectura del archivo, y a su vez lo adhieres a un lo siguiente
Y si lo necesitas con ... pues mejor te dejo la liga a la documentación de ahí mismo viene explicado cómo funciona cada clase y el método para seleccionar datos de líneas... inténtalo y si tienes otras dudas, pues ya andaremos por aquí ...
Nota: Por favor, pon tú código entre tags de < code > y < / code > así en texto plano es difícil entender todo lo que escribes..
estoy trabajando con netbeans
estoy trabajando con netbeans
Y en que necesitas ayuda. Ya
Y en que necesitas ayuda. Ya dijiste lo que quieres, pero no como ayudarte.
manejo de ficheros txt con interfaz grafica
estamos creando un proyecto con el cual debemos simula una cuenta corriente donde se ingresa codigo nombre apellido y saldo
toda esta informacion se guarda en un archivo txt asta ahi todo bien, ahora mi problema es: no comprendo como rescatar ciertos datos del archivo txt, ejemplo: debo mostrar solo datos que contengar saldos negativo o solo datos que contegan saldos positivos.
pensabamos que debiamos guardar cada linea de datos en un arreglo distinto, y asi poder manejar los datos a nuestra antojo pero no sabemos como implementar nuestra idea
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//ver registros
try{
FileReader fr = new FileReader("clientes.txt");
BufferedReader bf = new BufferedReader(fr);
String linea;
String linea2="";
while ((linea = bf.readLine())!=null)
linea2+=linea+"\n";
jTextArea1.setText(linea2);
}catch (Exception mia){
JOptionPane.showMessageDialog(null, mia);
}
// object to be written to file
}
logramos aser esto pero nos muestra todos los archivo que existen en el fichero
ojala puedas ayurdarme a que pueda rescatar datos pero cumpliendo las restricciones (<0 o >0)
Ah chin.... con qué separas
Ah chin.... con qué separas tus datos en cada línea? es decir, separas con comas, pipes, o algo así ?
de la clase
o bien usando la clase
....
) obtienenes un arreglo unidimensional de objetos
, entooooonces, pues nada mas ubicas la(s) posición(es) de el(los) objetos a comparar, los comparas y pues.... me imagino que vas a ejecutar algo con el resultado de ésa comparación...y,y,y..... y ya...
Porque bien podrías tomar cada renglon, partirlo, ya sea con el método
Bueno, suponiendo que haces eso, sabes entonces que (por ejemplo usando
¿?mmm
la verdad esque no tengo nigun separador, me prodrias ayudar a implementarlo en mi codigo?
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
// TODO add your handling code here:
//borrar
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
jTextArea1.setText("");
}//GEN-LAST:event_jButton2ActionPerformed
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
// TODO add your handling code here:
//ver registros
try{
FileReader fr = new FileReader("clientes.txt");
BufferedReader bf = new BufferedReader(fr);
String linea;
String linea2="";
while ((linea = bf.readLine())!=null)
linea2+=linea+"\n";
jTextArea1.setText(linea2);
}catch (Exception mia){
JOptionPane.showMessageDialog(null, mia);
}
// object to be written to file
}//GEN-LAST:event_jButton3ActionPerformed
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
try {
output = new Formatter( "clientes.txt" );
jPanel5.setVisible(true);
} // end try
catch ( SecurityException securityException ) {
System.err.println(
"Usted no tiene acceso de escritura a este archivo." );
System.exit( 1 );
} // end catch
catch ( FileNotFoundException filesNotFoundException ) {
System.err.println( "Error al crear el archivo." );
System.exit( 1 );
} // end catch
// end method openFile
}//GEN-LAST:event_jButton4ActionPerformed
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton5ActionPerformed
// TODO add your handling code here:
if ( output != null )
output.close();
jPanel3.setVisible(false);
jPanel2.setVisible(true);
jPanel4.setVisible(true);
}//GEN-LAST:event_jButton5ActionPerformed
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
boolean exception=false, exception1=false, exception2=false, exception3=false;
try {
FileWriter texto= new FileWriter("clientes.txt", true);
entrada=jTextField1.getText().trim();
codigo = Integer.valueOf(entrada);
exception= record.Account(codigo);
if(exception==true){
throw new exceptionAccount();
}
nombre=jTextField2.getText().trim();
exception1= record.firstName(nombre);
if(exception1==true){
throw new exceptionfirstName();
}
apellido =jTextField3.getText().trim();
exception2= record.firstName(apellido);
if(exception2==true){
throw new exceptionlastName();
}
texto.write(codigo+" ");
texto.write(nombre+" ");
texto.write(apellido+" ");
texto.close();
} catch(NumberFormatException ex){
jTextField1.selectAll();
jTextField1.requestFocus();
JOptionPane.showMessageDialog(null,"Codigo Invalido, esta en Blanco o tiene letras","Error en ingreso de codigo",JOptionPane.ERROR_MESSAGE);
return;
}
catch (exceptionAccount num) {
if(exception){
JOptionPane.showMessageDialog(null,"Codigo Invalido!! debe estar entre 1 y 200","Codigo ERRONEO",JOptionPane.ERROR_MESSAGE);
jTextField1.selectAll();
jTextField1.requestFocus();
return;
}
} catch (exceptionfirstName le) {
if(exception1){
JOptionPane.showMessageDialog(null,"Nombre INCOMPLETO!!!","Error en ingreso de nombre",JOptionPane.ERROR_MESSAGE);
jTextField2.selectAll();
jTextField2.requestFocus();
return;
}
} catch (exceptionlastName let) {
if(exception2){
JOptionPane.showMessageDialog(null,"Apellido INCOMPLETO!!!","Error en ingreso de apellido",JOptionPane.ERROR_MESSAGE);
jTextField3.selectAll();
jTextField3.requestFocus();
return;
}
} catch (Exception e) {
JOptionPane jOP = new JOptionPane();
JOptionPane.showMessageDialog(null, "Error de escritura, archivo de errores","Error de Escritura", 0);
}
try{
FileWriter texto= new FileWriter("clientes.txt", true);
entrada=jTextField4.getText().trim();
saldo = Integer.valueOf(entrada);
exception3 = record.balance(saldo);
if(exception3 == true){
throw new exceptionbalance();
} else
if(exception3==false){
JOptionPane.showMessageDialog(null,"Registro Guardado EXITOSAMENTE","Ingreso de registro",JOptionPane.INFORMATION_MESSAGE); }
texto.write(saldo+" "+"\n");
texto.close();
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
jTextArea1.setText("");
} catch(NumberFormatException m){
jTextField4.selectAll();
jTextField4.requestFocus();
JOptionPane.showMessageDialog(null,"Monto invalido, esta en Blanco o tiene letras","Error en ingreso de monto",JOptionPane.ERROR_MESSAGE);
return;
} catch(exceptionbalance nume){
if(exception3){
JOptionPane.showMessageDialog(null,"Monto debe estar entre -100.000 y 10.000.000","Error en monto de dinero Ingresado",JOptionPane.ERROR_MESSAGE);
jTextField4.selectAll();
jTextField4.requestFocus();
return;
}
} catch (Exception e) {
JOptionPane jOP = new JOptionPane();
JOptionPane.showMessageDialog(null, "Error de escritura, archivo de errores","Error de Escritura", 0);
}
}//GEN-LAST:event_jButton1ActionPerformed
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton6ActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jButton6ActionPerformed
private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton7ActionPerformed
// TODO add your handling code here:
try{
FileReader fr = new FileReader("clientes.txt");
BufferedReader bf = new BufferedReader(fr);
String linea = "";
String linea2="";
while (codigo<0)
linea2+=linea+"\n";
jTextArea1.setText(linea2);
}catch (Exception mia){
JOptionPane.showMessageDialog(null, mia);
}
}//GEN-LAST:event_jButton7ActionPerformed
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new EjecutorScanner().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton5;
private javax.swing.JButton jButton6;
private javax.swing.JButton jButton7;
private javax.swing.JButton jButton8;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JTextField jTextField4;
// End of variables declaration//GEN-END:variables
private Formatter output;
String entrada, nombre, apellido;
CuentaCorriente record;
int codigo, saldo;
}
ahi va mi codigo principal ojala me ayudes a implementarlo
El separador debe estar estar
El separador debe estar estar ( valga la rebuznancia ) separando los campos, a su vez que lo implementas en código...
es decir, en tu archivo puedes tener:
El separador es la coma ( , ) entonces, puedes, en tu fragmento de código, donde está lo de la lectura del archivo, y a su vez lo adhieres a un
Y si lo necesitas con
... pues mejor te dejo la liga a la documentación de
ahí mismo viene explicado cómo funciona cada clase y el método para seleccionar datos de líneas... inténtalo y si tienes otras dudas, pues ya andaremos por aquí ...
Nota: Por favor, pon tú código entre tags de < code > y < / code > así en texto plano es difícil entender todo lo que escribes..