Clase Java.io.DataInputStream en Java | Serie 1

Un flujo de entrada de datos permite que una aplicación lea tipos de datos Java primitivos de un flujo de entrada subyacente de forma independiente de la máquina (en lugar de bytes sin procesar). Por eso se llama DataInputStream, porque lee datos (números) en lugar de solo bytes. 

Una aplicación utiliza un flujo de salida de datos para escribir datos que luego pueden ser leídos por un flujo de entrada de datos. Los flujos de entrada de datos y los flujos de salida de datos representan strings Unicode en un formato que es una ligera modificación de UTF-8. DataInputStream no es necesariamente seguro para el acceso multiproceso. La seguridad de subprocesos es opcional y es responsabilidad de los usuarios de los métodos de esta clase.

En primer lugar, analicemos el constructor de esta clase. 

Constructor Acción realizada
DataInputStream (Entrada de flujo de entrada) Crea un DataInputStream que usa el InputStream subyacente especificado.

Ahora analicemos los métodos de esta clase que se muestran a continuación en un formato tabular como se muestra a continuación: 

Métodos  Acción realizada 
leer(byte[] b) Lee una cierta cantidad de bytes del flujo de entrada contenido y los almacena en la array de búfer b.
leer(byte[] b, int off, int len) Lee hasta bytes de datos de la secuencia de entrada contenida en una array de bytes. 
leer booleano() Lee un byte de entrada y devuelve verdadero si ese byte es distinto de cero, falso si ese byte es cero. 
readChar() Lee dos bytes de entrada y devuelve un valor de carácter. 
leerUTF() Lee datos del flujo de entrada subyacente y convierte los bytes en una string Unicode.
leerByte() Lee un byte de entrada y devuelve un valor de byte.
leerFlotante() Lee cuatro bytes de entrada y devuelve un valor flotante.
leer Completamente() Leer bytes iguales a la longitud de la array de bytes
leerDoble() Lee ocho bytes de entrada y devuelve un valor doble.
leerInt() Lee cuatro bytes de entrada y devuelve un valor int. 
leerLinea() Lectura de líneas de texto.
leerLargo() Lectura de ocho bytes de entrada y devuelve un valor largo
leerCorto() Lea dos bytes de entrada y devuelva un valor corto.
leerByte sin firmar() Leer byte y devolver como un entero
readUnsignedShort() Lee dos bytes de entrada y los devuelve como una array de enteros
saltarBytes() Omite n bytes de datos del flujo de entrada

Recuerde: la clase DataInputStream a menudo se usa junto con DataOutputStream.

Implementación:

Ahora implementemos algunos de los métodos anteriores de esta clase que se han discutido anteriormente.

El siguiente programa usa probar con recursos. Requiere JDK 7 o posterior ya que el concepto de bloque try-catch se introdujo en Java7

Ejemplo 1 

Java

// Java program to Demonstrate DataInputStream Class
 
// Importing I/O classes
import java.io.*;
 
// Main class
class DataInputStreamDemo {
 
    // Main driver method
    public static void main(String args[]) throws IOException {
 
        // Writing the data
 
        // Try block to check for exceptions
        try ( DataOutputStream dout =
                        new DataOutputStream(new FileOutputStream("file.dat")) ) {
 
            dout.writeDouble(1.1);
            dout.writeInt(55);
            dout.writeBoolean(true);
            dout.writeChar('4');
        }
 
        // Catch block to handle the exceptions
        catch (FileNotFoundException ex) {
 
            // Display message when FileNotFoundException occurs
            System.out.println("Cannot Open the Output File");
            return;
        }
 
        // Reading the data back.
 
        // Try block to check for exceptions
        try ( DataInputStream din =
                        new DataInputStream(new FileInputStream("file.dat")) ) {
 
            // Illustrating readDouble() method
            double a = din.readDouble();
 
            // Illustrating readInt() method
            int b = din.readInt();
 
            // Illustrating readBoolean() method
            boolean c = din.readBoolean();
 
            // Illustrating readChar() method
            char d = din.readChar();
 
            // Print the values
            System.out.println("Values: " + a + " " + b + " " + c + " " + d);
        }
 
        // Catch block to handle the exceptions
        catch (FileNotFoundException e) {
 
            // Display message when FileNotFoundException occurs
            System.out.println("Cannot Open the Input File");
            return;
        }
    }
}

Producción:

Observe cómo ya no hay ninguna llamada explícita al método close(). La construcción try-with-resources se encarga de eso.
Artículo siguiente: Clase Java.io.DataInputStream en Java | Conjunto 2
Este artículo es una contribución de Nishant Sharma . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *