7 oct 2014

Entrada y Salida básica en Java

La E/S básica en Java se realiza mediante la clase System, a través de sus atributos estáticos err, out e in.

SALIDA
La salida se efectúa a través de System.err o System.out. Estos dos atributos de System son de tipo PrintStream y permiten utilizar, entre otros, los métodos:
o   print(), escribe el argumento. Está sobrecargado para los tipos primitivos.
§  System.out.print(Hola, mundo);
§  System.out.print(2050);
o   println(), escribe el argumento y salta de línea.
o   printf(), salida con formato de características análogas a las de C, con mejoras.
§  System.out.printf(Saludo: %s %d %n, Hola, mundo, 2050);

ENTRADA
La entrada puede efectuarse a través de System.in, de tipo Inputstream, de varias formas:
o   Mediante el método read(). Bastante limitado porque sólo permite leer bytes (valores numéricos entre 0 y 255) que devuelve como un entero.
o   a partir de un ejemplar de Console proporcionado por System. Sólo permite leer líneas completas, de tipo String, que después deben ser interpretadas si lo que se quiere obtener corresponde a otros tipos, por ejemplo numéricos.
o   a través de un ejemplar de Scanner, que se construye a partir de System.in,  en este caso permite acceder directamente a traductores de todos los tipos básicos, incluyendo líneas completas (String).


Ejemplo con read()

package entradaRead;

import java.io.IOException;

public class EntradaRead {

    public static void main(String[] args) throws IOException {
        char carac;
        System.out.print("Introduce una frase: ");
        while ((carac=(char) System.in.read()) != '\n')
            System.out.print(carac);
    }
   
}


Ejemplo con Console

package entradasalidaconsole;
import java.io.Console;

public class EntradaSalidaConsole {

    public static void main(String[] args) {
       String cadena = "una frase";
       Console con = System.console();
        if (null != con) {
            con.printf("%s%n", "Escribo desde Console");
            cadena= con.readLine("Escriba %s: ", cadena);
            con.printf("La cadena introducida es:%s%n", cadena);
            con.printf("Escribe otra frase: ");
            cadena= con.readLine();
            con.printf("La cadena introducida es:%s%n", cadena);
        } else {
            System.err.println("Perdón, no se puede usar la consola.");
        }
    }
}


Ejemplo con Scanner

package entradasalidascanner;
import java.util.Scanner;

public class Entradasalidascanner {

public static void main(String[] args) {
       String cadena = "una frase";
       Scanner sc = new Scanner(System.in);
       System.out.printf("Escriba %s: ", cadena);
       cadena= sc.nextLine();
       System.out.printf("La cadena introducida es:%s%n", cadena);
       System.out.print("Escribe otra frase: ");
       cadena= sc.nextLine();
       System.out.printf("La cadena introducida es:%s%n", cadena);
    }
    

}

No hay comentarios:

Publicar un comentario