Mostrando entradas con la etiqueta print. Mostrar todas las entradas
Mostrando entradas con la etiqueta print. Mostrar todas las entradas

14 nov 2014

La clase PrintWriter de Java

Características.

Clase que nos permite escribir con formato texto tanto en la salida estándar, como en ficheros, en cadenas, o en streams.

Hay que especificar, a través de los argumentos, dónde se va a producir la salida.

EJ. 1:   PrintWriter pw1= new PrintWriter(System.out);
EJ. 2:   PrintWriter pw2= new PrintWriter(new File("fichero.txt"));

A partir de la versión 5, incluso se permite:

Ej. 3:    PrintWriter pw2= new PrintWriter("fichero.txt");

Implementa todos los métodos de la clase PrintStream. A diferencia de esta clase, sus métodos de escritura no se vacían automáticamente al escribir una nueva línea.

Principales métodos.

o   print(), escribe el argumento. Está sobrecargado para los tipos primitivos.
pw.print(Hola, mundo);
pw.print(2050);

o   println(), escribe el argumento y salta de línea.

o   printf(), salida con formato, similar a C.
pw.printf(Saludo: %s %d %n, Hola, mundo, 2050);

o   flush(),  vacía el stream.

o   close(), cierra vaciando previamente el stream.

o   write(), escribe el argumento.
pw.write(Hola, mundo);


Ejemplo:

public static void main(String[] args){
    …
       FileWriter f = new FileWriter(“salida.txt”);
  PrintStream ps = new PrintStream(f);
  for (int[] fila : matriz) {
      String st = "";
      for (int value : fila) {
            st += value + delimiter;
            }
         ps.printf("%s%n", st);
     }
  ps.close();

}

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);
    }
    

}