Java.io.DataOutputStream en Java

Un flujo de salida de datos permite que una aplicación escriba tipos de datos Java primitivos en un flujo de salida de forma portátil. Luego, una aplicación puede usar un flujo de entrada de datos para volver a leer los datos. Analicemos el constructor de esta clase antes de pasar a los métodos de esta clase. 

Constructor: DataOutputStream (OutputStream fuera)

Crea un nuevo flujo de salida de datos para escribir datos en el flujo de salida subyacente especificado. Ahora analicemos métodos importantes de esta clase antes de implementarlos. 

Método 1: vaciado vacío() 

Vacía este flujo de salida de datos. 

Sintaxis: 

public void flush() throws IOException

Nota: anula el método flush() en la clase FilterOutputStream

Excepción lanzada: IOException

Método 2: tamaño()

Devuelve el valor actual del contador escrito, la cantidad de bytes escritos en este flujo de salida de datos hasta el momento.

Sintaxis:

public final int size()

Tipo de devolución: un valor entero del campo escrito

Método 3: escribir() 

Escribe len bytes desde la array de bytes especificada a partir del desplazamiento hacia el flujo de salida subyacente. 

Sintaxis:

void write (byte[] b, int off, int len)

Parámetros: 

  • array de bytes
  • apagado
  • Longitud de la array de bytes

Tipo de devolución: nula 

Método 4: 

Sintaxis :

public void write(byte[] b, int off,int len)

Nota: Anula el método write() en la clase FilterOutputStream.

Parámetros:

  • Los datos
  • El desplazamiento inicial en los datos.
  • El número de bytes a escribir.

Excepciones: IOException

Método 5: escritura nula (int b): 

Escribe el byte especificado (los ocho bits inferiores del argumento b) en el flujo de salida subyacente. 

Sintaxis:

public void write(int b)
throws IOException

Tipo de retorno: Vacío

Parámetros:  El byte a escribir

Método 6: escribir booleano()

Escribe un valor booleano en el flujo de salida subyacente como un valor de 1 byte.

Sintaxis:

void writeBoolean (boolean v) 

Tipo de devolución: Vacío

Parámetros: valor booleano

Método 7: escribir booleano()

Sintaxis:

public final void writeBoolean(boolean v)
throws IOException

Parámetros: valor booleano a escribir.

Lanza: IOException

Método 8: escribirByte()

Escribe un byte en el flujo de salida subyacente como un valor de 1 byte. 

Sintaxis:

public final void writeByte(int v)
throws IOException 

Parámetros: un valor de byte que se escribirá 

Excepción lanzada:  IOException

Método 9: escribirChar()

Escribe un carácter en el flujo de salida subyacente como un valor de 2 bytes, el byte alto primero.

Sintaxis:

public final void writeChar(int v)
throws IOException

Parámetros:  un valor de carácter que se va a escribir.

Excepción : IOException 

Método 10: void writeDouble (doble v)

Convierte el argumento doble en largo mediante el método doubleToLongBits en la clase Double y luego escribe ese valor largo en el flujo de salida subyacente como una cantidad de 8 bytes, el byte alto primero. 

Sintaxis:

public final void writeDouble(double v)
throws IOException

Parámetros: un valor doble para escribir

Excepción lanzada: IOException

Método 11: writeFloat (float v)

Convierte el argumento flotante en un int usando el método floatToIntBits en la clase Float y luego escribe ese valor int en el flujo de salida subyacente como una cantidad de 4 bytes, MSB primero. 

Sintaxis:

public final void writeFloat(float v)
throws IOException

Tipo de devolución: Vacío

Parámetros: un valor flotante que se va a escribir.

Excepción lanzada: IOException

Método 12: escribirInt()

Escribe un int en el flujo de salida subyacente como cuatro bytes, el byte alto primero. 

Sintaxis:

public final void writeInt(int v)
throws IOException

Parámetros: Un int a escribir.

Tipo de devolución: Vacío

Excepciones lanzadas: escribe un int en el flujo de salida subyacente como cuatro bytes, el byte alto primero. 

Método 13: escribeLargo()

Escribe un largo en el flujo de salida subyacente como ocho bytes, el byte alto primero. 

Sintaxis:

public final void writeLong(long v)
throws IOException

Parámetros:  Largos para ser escritos.

Lanza: IOException

Método 14: escribeCorto(): 

Escribe un corto en el flujo de salida subyacente como dos bytes, el byte alto primero. 

Tipo de devolución: Vacío

Parámetro: Un corto para ser escrito

Sintaxis:

public final void writeShort(int v)
throws IOException

Método 15: escribe UTF (String str) 

Escribe una string en el flujo de salida subyacente mediante la codificación UTF-8 modificada de forma independiente de la máquina. 

Parámetro : Una string a escribir

Tipo de devolución:  Vacío 

Excepción lanzada: IOException

Nota: Hay ciertos puntos importantes que deben recordarse como se enumeran: 

  • DataOutputStream y DataInputStream a menudo se usan juntos.
  • Cuando se cierra un DataOutputStream (llamando a close()), el flujo subyacente especificado por out también se cierra automáticamente.
  • Ya no hay ninguna llamada explícita al método close(). La construcción try-with-resources se encarga de eso.

Ejemplo:

Java

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

Producción:

Values: 1.1 55 true 4

Nota: el programa anterior utiliza recursos de prueba, por lo que requiere JDK 7 o posterior.

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 *