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