Leer y Escribir archivos Scanner y PrintStream

Vamos a crear un pequeño ejemplo realizando una suma de dos numeros que se encuentren dentro de un archivo .txt para ello en este pequeño blog utilizaremos Scanner para leer el archivo y PrintStream para guardar la suma de esos dos numeros.
http://docs.oracle.com/javase/7/docs/api/java/io/PrintStream.html

El codigo quedaria de la siguiente manera.

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.util.Scanner;

public class suma {
        private Scanner file;
        private PrintStream save;
        private int suma;
        public static void main(String[] args) throws FileNotFoundException {
                suma s=new suma();
                s.sumar();
        }
        public void sumar() throws FileNotFoundException
        {
                file=new Scanner(new File("suma.txt"));
                save=new PrintStream("guardar.txt");
                int numero1;
                int numero2;
                numero1=file.nextInt();
                numero2=file.nextInt();
                suma=numero1+numero2;
            System.out.println("La suma es:"+"del"+numero1+"+"+numero2+"="+ suma);
             save.println("La suma es:"+"del"+numero1+"+"+numero2+"="+ suma);
               
        }

}

Saludos.

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Algunas observaciones ...

 

Algunas observaciones:

  • Utiliza try-with-resources (desde Java 7).
  • Para evitar confusiones, nombra cada variable de acuerdo al tipo de dato. Por ejemplo, en tu código, file es una instancia de java.util.Scanner y no una instancia de java.io.File como cabría esperar.
  • En lugar de .println("La suma es:"+"del"+numero1+"+"+numero2+"="+ suma), puedes utilizar .printf("La suma es: %d + %d = %d%n", numero1, numero2, suma).
  • Las variables file, save, suma podrían ser variables locales, a menos que planees usarlas en un ámbito más amplio.

¡Por si sirve de algo!

~~~