martes, 6 de septiembre de 2011

Ejercicio creación de ficheros

Realizar un programa que cree un fichero con los siguientes datos:
  • 85.23, de tipo float.
  • 18, de tipo entero.
  • true, de tipo boolean.
Se realizarán dos versiones, en la primera el fichero será un fichero de texto, en el que se almacenarán caracteres. En la segunda versión el fichero será de tipo binario, es decir, se guardarán bytes.

public class EjercicioFlujo4 {
    public static void main (String [] arg) throws IOException{
        //VERSIÓN 1: fichero de texto
        FileWriter fich = new FileWriter("nuevo");
        PrintWriter impr = new PrintWriter(fich);
        impr.println(85.23F);
        impr.println(18);
        impr.println(true);
        impr.close();
        fich.close();

        //VERSIÓN 2: fichero binario
        FileOutputStream fich1 = new FileOutputStream("nuevo2");
        DataOutputStream impr1 = new DataOutputStream(fich1);
        impr1.writeFloat(85.23F);
        impr1.writeInt(18);
        impr1.writeBoolean(true);
        impr1.close();
        fich1.close();

        //LEER LOS FICHEROS
        //VERSIÓN 1: fichero de texto
        FileReader fich3 = new FileReader("nuevo");
        BufferedReader aux = new BufferedReader(fich3);
        System.out.println(Float.parseFloat(aux.readLine()));
        System.out.println(Integer.parseInt(aux.readLine()));
        System.out.println(Boolean.parseBoolean(aux.readLine()));
        aux.close();
        fich3.close();
        /*Otra forma
        FileInputStream fis = new FileInputStream("nuevo");
        Scanner entrada = new Scanner(fis);
        System.out.println(entrada.nextLine());
        System.out.println(entrada.nextInt());
        System.out.println(entrada.nextBoolean());
        entrada.close();
        fis.close();*/

        //VERSIÓN 2: fichero binario
        FileInputStream fich2 = new FileInputStream("nuevo2");
        DataInputStream leer = new DataInputStream(fich2);
        System.out.println(leer.readFloat());
        System.out.println(leer.readInt());
        System.out.println(leer.readBoolean());
        leer.close();
        fich2.close();        
    }
}

No hay comentarios:

Publicar un comentario