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 BufferedOutputStream

Classe Java BufferedOutputStream


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

O BufferedOutputStream classe do java.io O pacote é usado com outros fluxos de saída para gravar os dados (em bytes) com mais eficiência.

Ele estende o OutputStream classe abstrata.



Trabalho de BufferedOutputStream


O BufferedOutputStream mantém um buffer interno de 8192 bytes .

Durante a operação de gravação, os bytes são gravados no buffer interno em vez do disco. Uma vez que o buffer é preenchido ou o fluxo é fechado, todo o buffer é gravado no disco.

Assim, o número de comunicação com o disco é reduzido. É por isso que escrever bytes é mais rápido usando BufferedOutputStream .

Criar um BufferedOutputStream


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

// Creates a BufferedOutputStream
BufferedOutputStream buffer = new BufferOutputStream(file);

No exemplo acima, criamos um BufferdOutputStream chamado buffer com o FileOutputStream chamado arquivo .

Aqui, o buffer interno tem o tamanho padrão de 8192 bytes. No entanto, também podemos especificar o tamanho do buffer interno.
// Creates a BufferedOutputStream with specified size internal buffer
BufferedOutputStream buffer = new BufferOutputStream(file, int size);

O buffer ajudará a gravar bytes em arquivos mais rapidamente.

Métodos de BufferedOutputStream




O BufferedOutputStream classe fornece implementações para diferentes métodos no OutputStream classe.

Método write()

Exemplo:BufferedOutputStream para gravar dados em um arquivo

import java.io.FileOutputStream;
import java.io.BufferedOutputStream;

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 a BufferedOutputStream
            BufferedOutputStream output = new BufferedOutputStream(file);

            byte[] array = data.getBytes();

            // Writes data to the output stream
            output.write(array);
            output.close();
        }

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

No exemplo acima, criamos um fluxo de saída em buffer chamado output juntamente com FileOutputStream . O fluxo de saída está vinculado ao arquivo output.txt .
FileOutputStream file = new FileOutputStream("output.txt");
BufferedOutputStream output = new BufferedOutputStream(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.

Observação :O getBytes() O método usado no programa converte uma string em uma matriz de bytes.

Método flush()


Para limpar o buffer interno, podemos usar o flush() método. Esse método força o fluxo de saída a gravar todos os dados presentes no buffer no arquivo de destino. Por exemplo,
import java.io.FileOutputStream;
import java.io.BufferedOutputStream;

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

        String data = "This is a demo of the flush method";

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

            // Creates a BufferedOutputStream
            BufferedOutputStream buffer = new BufferedOutputStream(file);

            // Writes data to the output stream
            buffer.write(data.getBytes());

            // Flushes data to the destination
            buffer.flush();
            System.out.println("Data is flushed to the file.");
            buffer.close();
        }

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

Saída
Data is flushed to the file.

Quando executamos o programa, o arquivo flush.txt é preenchido com o texto representado pela string data .

método close()


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

Para saber mais, visite Java BufferedOutputStream (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