Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Clase Java OutputStreamWriter

Clase Java OutputStreamWriter

En este tutorial, aprenderemos sobre Java OutputStreamWriter y sus métodos con la ayuda de ejemplos.

El OutputStreamWriter clase del java.io El paquete se puede utilizar para convertir datos en formato de caracteres en datos en formato de bytes.

Extiende la clase abstracta Writer .

El OutputStreamWriter la clase funciona con otros flujos de salida. También se conoce como un puente entre flujos de bytes y flujos de caracteres. Esto se debe a que el OutputStreamWriter convierte sus caracteres en bytes.

Por ejemplo, algunos caracteres requieren 2 bytes para almacenarse en el almacenamiento. Para escribir dichos datos, podemos usar el escritor de flujo de salida que convierte el carácter en los bytes correspondientes y almacena los bytes juntos.


Crear un OutputStreamWriter

Para crear un OutputStreamWriter , debemos importar el java.io.OutputStreamWriter paquete primero. Una vez que importamos el paquete, aquí es cómo podemos crear el escritor de flujo de salida.

// Creates an OutputStream
FileOutputStream file = new FileOutputStream(String path);

// Creates an OutputStreamWriter
OutputStreamWriter output = new OutputStreamWriter(file);

En el ejemplo anterior, hemos creado un OutputStreamWriter salida con nombre junto con el FileOutputStream archivo con nombre.

Aquí, estamos usando la codificación de caracteres predeterminada para escribir caracteres en el flujo de salida.

Sin embargo, podemos especificar el tipo de codificación de caracteres (UTF8 o UTF16 ) que se utilizará para escribir datos.

// Creates an OutputStreamWriter specifying the character encoding
OutputStreamWriter output = new OutputStreamWriter(file, Charset cs);

Aquí, hemos utilizado el Charset class para especificar el tipo de codificación de caracteres.


Métodos de OutputStreamWriter

El OutputStreamWriter La clase proporciona implementaciones para diferentes métodos presentes en el Writer clase.

método escribir()


Ejemplo:OutputStreamWriter para escribir datos en un archivo

import java.io.FileOutputStream;
import java.io.OutputStreamWriter;

public class Main {

  public static void main(String args[]) {

    String data = "This is a line of text inside the file.";

    try {
      // Creates a FileOutputStream
      FileOutputStream file = new FileOutputStream("output.txt");

      // Creates an OutputStreamWriter
      OutputStreamWriter output = new OutputStreamWriter(file);

      // Writes string to the file
      output.write(data);

      // Closes the writer
      output.close();
    }

    catch (Exception e) {
      e.getStackTrace();
    }
  }
}

En el ejemplo anterior, hemos creado un lector de flujo de salida usando el flujo de salida del archivo. El lector de flujo de salida está vinculado con output.txt archivo.

FileOutputStream file = new FileOutputStream("output.txt");
OutputStreamWriter output = new OutputStreamWriter(file);

Para escribir datos en el archivo, hemos utilizado el write() método.

Aquí, cuando ejecutamos el programa, el output.txt El archivo está lleno con el siguiente contenido.

This is a line of text inside the file.

Método getEncoding()

El getEncoding() El método se puede usar para obtener el tipo de codificación que se usa para escribir datos en el flujo de salida. Por ejemplo,

import java.io.OutputStreamWriter;
import java.nio.charset.Charset;
import java.io.FileOutputStream;

class Main {
  public static void main(String[] args) {

    try {
      // Creates an output stream
      FileOutputStream file = new FileOutputStream("output.txt");

      // Creates an output stream reader with default encoding
      OutputStreamWriter output1 = new OutputStreamWriter(file);

      // Creates an output stream reader specifying the encoding
      OutputStreamWriter output2 = new OutputStreamWriter(file, Charset.forName("UTF8"));

      // Returns the character encoding of the output stream
      System.out.println("Character encoding of output1: " + output1.getEncoding());
      System.out.println("Character encoding of output2: " + output2.getEncoding());

      // Closes the reader
      output1.close();
      output2.close();
    }

    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Salida

The character encoding of output1: Cp1252
The character encoding of output2: UTF8

En el ejemplo anterior, hemos creado 2 escritores de flujo de salida llamados output1 y salida2 .

Nota :Hemos utilizado el Charset.forName() método para especificar el tipo de codificación de caracteres. Para obtener más información, visite Java Charset (documentación oficial de Java).


Método cerrar()

Para cerrar el escritor de flujo de salida, podemos usar el close() método. Una vez que el close() se llama al método, no podemos usar el escritor para escribir los datos.


Otros métodos de OutputStreamWriter

Método Descripción
flush() obliga a escribir todos los datos presentes en el escritor al destino correspondiente
append() inserta el carácter especificado en el escritor actual

Para obtener más información, visite Java OutputStreamWriter (documentación oficial de Java).


Java

  1. Palabra clave final de Java
  2. Operador de instancia de Java
  3. Herencia de Java
  4. Clase estática anidada de Java
  5. Clase anónima de Java
  6. Clase única de Java
  7. Reflexión Java
  8. Clase Java ArrayList
  9. Clase Java ObjectOutputStream
  10. Genéricos de Java
  11. Clase de archivo Java