Foros del Web » Programación para mayores de 30 ;) » Java »

Grabar datos en un .txt

Estas en el tema de Grabar datos en un .txt en el foro de Java en Foros del Web. Hola a todos! Estoy haciendo una calculadora en java y necesito hacer que cuando haga una operación (2+2=4, por ejemplo), una vez que le doy ...
  #1 (permalink)  
Antiguo 10/02/2009, 08:55
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Grabar datos en un .txt

Hola a todos!
Estoy haciendo una calculadora en java y necesito hacer que cuando haga una operación (2+2=4, por ejemplo), una vez que le doy a la tecla "=" para que me muestre e resultado tengo que meter esa operación en un .txt.

el código hecho es algo así:
Código PHP:
[...]

boton_igual.addActionListener(new Igual());

[...]

public class 
Igual implements ActionListener
{
    public 
void actionPerformed(ActionEvent e)
    {        
        [...]
                switch (
Operacion)
        {
            case 
1//suma
                
Resultado numero1 numero2;            
                
resultado2 String.valueOf(Resultado);                        
                
pantalla.setText(resultado2);                
                break;
                
                       case 
2:
                       [...]
                }
        }

El código para poner que cuando le de al igual se me guarde el el .txt es este:
Código PHP:
public static void main (String [] argsthrows IOExceptionFileNotFoundException
{
    
String texto numero1 "+" numero2 "=" Resultado;        
    
FileOutputStream fichero=new FileOutputStream("Resultados.txt");
    
DataOutputStream escritura=new DataOutputStream(fichero);
    
escritura.writeBytes(texto);        
    
fichero.close();

pone "public static void main" porque lo saqué de otro ejercicio.

Lo que quiero saber es dónde he de poner el segundo código dentro del primero para que funcione, exactamente dónde se coloca esto "throws IOException, FileNotFoundException".

Alguna idea?
Gracias de antemano
  #2 (permalink)  
Antiguo 10/02/2009, 09:38
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Grabar datos en un .txt

pues es muy simple solo crea una funcion aparte del actionPerformed
Código PHP:
public class Igual implements ActionListener
{
    public 
void actionPerformed(ActionEvent e)
    {        
        [...]
                switch (
Operacion)
            {
                    case 
1//suma
                        
Resultado numero1 numero2;            
                        
resultado2 String.valueOf(Resultado);                        
                        
pantalla.setText(resultado2);                
                        break;
                
                        case 
2:
                               [...]

            case 
numero_del_igual:
                
escribirArchivo();
                }
    }

    public 
void escribirArchivo () throws IOExceptionFileNotFoundException
    
{
        
String texto numero1 "+" numero2 "=" Resultado;        
        
FileOutputStream fichero=new FileOutputStream("Resultados.txt");
        
DataOutputStream escritura=new DataOutputStream(fichero);
        
escritura.writeBytes(texto);        
        
fichero.close();
    } 

  #3 (permalink)  
Antiguo 10/02/2009, 09:39
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Grabar datos en un .txt

o podrias quitarle los throws y el codigo ponerlo en un bloque try{}catch{}
  #4 (permalink)  
Antiguo 10/02/2009, 09:50
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Grabar datos en un .txt

me sale este error, es que me salia siempre

unreported exception java.io.IOException; must be caught or declarated to be thrown

al inicio de la hoja pongo esto:

import java.io.*;
  #5 (permalink)  
Antiguo 10/02/2009, 09:56
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Grabar datos en un .txt

entonces prueba con esto
pues es muy simple solo crea una funcion aparte del actionPerformed
Código PHP:
public class Igual implements ActionListener
{
    public 
void actionPerformed(ActionEvent e)
    {        
        [...]
                switch (
Operacion)
            {
                    case 
1//suma
                        
Resultado numero1 numero2;            
                        
resultado2 String.valueOf(Resultado);                        
                        
pantalla.setText(resultado2);                
                        break;
                
                        case 
2:
                               [...]

            case 
numero_del_igual:
                try {
                    
escribirArchivo();
                } catch (
IOException e) {
                }
                }
    }

    public 
void escribirArchivo ()
    {
            
String texto numero1 "+" numero2 "=" Resultado;        
        
File f = new File("Resultados.txt");
                
FileWriter linea_tx = new FileWriter(ftrue);
                
linea_tx.write(texto);
                
linea_tx.close();
    } 

  #6 (permalink)  
Antiguo 10/02/2009, 09:59
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Grabar datos en un .txt

perdon asi no era, bueno no se si asi funcione, pero creo q no, lo q qeria poner era esto:
Código PHP:
public class Igual implements ActionListener
{
    public 
void actionPerformed(ActionEvent e)
    {        
        [...]
                switch (
Operacion)
            {
                    case 
1//suma
                        
Resultado numero1 numero2;            
                        
resultado2 String.valueOf(Resultado);                        
                        
pantalla.setText(resultado2);                
                        break;
                
                        case 
2:
                               [...]

            case 
numero_del_igual:
                    
escribirArchivo();
                    break;                
                }
    }

    public 
void escribirArchivo ()
    {
        try {
                
String texto numero1 "+" numero2 "=" Resultado;        
            
File f = new File("Resultados.txt");
                    
FileWriter linea_tx = new FileWriter(ftrue);
                    
linea_tx.write(texto);
                    
linea_tx.close();
        } catch (
IOException e) {
        }
    } 

  #7 (permalink)  
Antiguo 10/02/2009, 10:10
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Grabar datos en un .txt

genial genial! funciona perfectisimo (la segunda opcion)

Muchisimas gracias drac94!
  #8 (permalink)  
Antiguo 10/02/2009, 10:42
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Grabar datos en un .txt

y si en esto pudieras ayudarme tambien...

Con ese codigo todas las operaciones se grabar en la misma linea del txt. Si por cada operacion quiero que se graben en lineas diferentes del txt como se hace?

De esto: 3+4=7 2+1=3 4*5=20
a esto: 3+4=7
2+1=3
4*5 = 20
  #9 (permalink)  
Antiguo 10/02/2009, 10:49
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Grabar datos en un .txt

creo q asi, solo le agregas el caracter de escape '\n' a el write:

en vez de
Código PHP:
linea_tx.write(texto); 
le pones
Código PHP:
linea_tx.write(texto+'\n'); 
  #10 (permalink)  
Antiguo 10/02/2009, 10:58
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Grabar datos en un .txt

parece que no lo hace
  #11 (permalink)  
Antiguo 10/02/2009, 11:02
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Grabar datos en un .txt

trata con
Código PHP:
linea_tx.write(texto+'\r\n'); 
  #12 (permalink)  
Antiguo 10/02/2009, 11:13
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Grabar datos en un .txt

deberia funcionar como te dije antes pero si no prueba con esto
Código PHP:
File f = new File("Resultados.txt");
                    
FileWriter linea_tx = new FileWriter(ftrue);
                    
pw = new PrintWriter(linea_tx);
                    
pw.println(texto);
                    
linea_tx.close(); 
  #13 (permalink)  
Antiguo 10/02/2009, 11:14
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Grabar datos en un .txt

Código PHP:
File f = new File("Resultados.txt");
                    
FileWriter linea_tx = new FileWriter(ftrue);
                    
pw = new PrintWriter(linea_tx);
                    
pw.println(texto);
                    
linea_tx.close(); 
De esto ultimo, pw hay que declararlo mas arriba? como?
tal cual está dice que "cannot find symbol varible pw

Última edición por cslbcn; 10/02/2009 a las 11:21
  #14 (permalink)  
Antiguo 10/02/2009, 11:20
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Grabar datos en un .txt

es q en vez de comilla simple era comilla doble, perdon
  #15 (permalink)  
Antiguo 10/02/2009, 11:29
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Grabar datos en un .txt

Cierto. con comillas dobles. Con "\n" funcioba bien.
gracias de nuevo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:06.