Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Classe Java OutputStreamWriter

Classe Java OutputStreamWriter


Neste tutorial, aprenderemos sobre o Java OutputStreamWriter e seus métodos com a ajuda de exemplos.

O OutputStreamWriter classe do java.io O pacote pode ser usado para converter dados em formato de caractere em dados em formato de bytes.

Ele estende a classe abstrata Writer .



O OutputStreamWriter classe funciona com outros fluxos de saída. Também é conhecido como uma ponte entre fluxos de bytes e fluxos de caracteres. Isso ocorre porque o OutputStreamWriter converte seus caracteres em bytes.

Por exemplo, alguns caracteres requerem 2 bytes para serem armazenados no armazenamento. Para escrever esses dados, podemos usar o gravador de fluxo de saída que converte o caractere em bytes correspondentes e armazena os bytes juntos.


Criar um OutputStreamWriter


Para criar um OutputStreamWriter , devemos importar o java.io.OutputStreamWriter pacote primeiro. Uma vez que importamos o pacote, aqui é como podemos criar o gravador de fluxo de saída.
// Creates an OutputStream
FileOutputStream file = new FileOutputStream(String path);

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

No exemplo acima, criamos um OutputStreamWriter saída nomeada junto com o FileOutputStream arquivo nomeado.

Aqui, estamos usando a codificação de caracteres padrão para gravar caracteres no fluxo de saída.

No entanto, podemos especificar o tipo de codificação de caracteres (UTF8 ou UTF16 ) a ser usado para gravar dados.
// Creates an OutputStreamWriter specifying the character encoding
OutputStreamWriter output = new OutputStreamWriter(file, Charset cs);

Aqui, usamos o Charset class para especificar o tipo de codificação de caracteres.

Métodos de OutputStreamWriter




O OutputStreamWriter classe fornece implementações para diferentes métodos presentes no Writer classe.

Método write()


Exemplo:OutputStreamWriter para gravar dados em um arquivo

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();
    }
  }
}

No exemplo acima, criamos um leitor de fluxo de saída usando o fluxo de saída do arquivo. O leitor de fluxo de saída está vinculado ao output.txt Arquivo.
FileOutputStream file = new FileOutputStream("output.txt");
OutputStreamWriter output = new OutputStreamWriter(file);

Para gravar dados no arquivo, usamos o write() método.

Aqui, quando executamos o programa, o output.txt arquivo é preenchido com o seguinte conteúdo.
This is a line of text inside the file.

Método getEncoding()


O getEncoding() pode ser usado para obter o tipo de codificação usado para gravar dados no fluxo de saída. Por exemplo,
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();
    }
  }
}

Saída
The character encoding of output1: Cp1252
The character encoding of output2: UTF8

No exemplo acima, criamos 2 gravadores de fluxo de saída chamados output1 e saída2 .

Observação :Usamos o Charset.forName() método para especificar o tipo de codificação de caracteres. Para saber mais, visite Java Charset (documentação oficial do Java).

método close()


Para fechar o gravador de fluxo de saída, podemos usar o close() método. Uma vez que o close() for chamado, não podemos usar o gravador para gravar os dados.

Outros métodos de OutputStreamWriter

Método Descrição
flush() força a gravação de todos os dados presentes no gravador no destino correspondente
append() insere o caractere especificado para o escritor atual

Para saber mais, visite Java OutputStreamWriter (documentação oficial do Java).

Java

  1. Palavra-chave final Java
  2. Java instanceof Operator
  3. Herança Java
  4. Classe estática aninhada em Java
  5. Classe anônima Java
  6. Classe Java Singleton
  7. Reflexão Java
  8. Classe Java ObjectOutputStream
  9. Genéricos Java
  10. Classe de arquivo Java