Java FileOutputStream (com exemplos)

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

A FileOutputStreamclasse do java.iopacote pode ser usada para gravar dados (em bytes) nos arquivos.

Ele estende a OutputStreamclasse abstrata.

Antes de aprender sobre FileOutputStream, certifique-se de conhecer os arquivos Java.

Crie um FileOutputStream

Para criar um fluxo de saída de arquivo, devemos importar o java.io.FileOutputStreampacote primeiro. Depois de importar o pacote, aqui está como podemos criar um fluxo de saída de arquivo em Java.

1. Usando o caminho para o arquivo

 // Including the boolean parameter FileOutputStream output = new FileOutputStream(String path, boolean value); // Not including the boolean parameter FileOutputStream output = new FileOutputStream(String path); 

Aqui, criamos um fluxo de saída que será vinculado ao arquivo especificado pelo caminho.

Além disso, value é um parâmetro booleano opcional. Se for definido como true, os novos dados serão acrescentados ao final dos dados existentes no arquivo. Caso contrário, os novos dados sobrescreverão os dados existentes no arquivo.

2. Usando um objeto do arquivo

 FileOutputStream output = new FileOutputStream(File fileObject); 

Aqui, criamos um fluxo de saída que será vinculado ao arquivo especificado por fileObject.

Métodos de FileOutputStream

A FileOutputStreamclasse fornece implementações para diferentes métodos presentes na OutputStreamclasse.

Método write ()

  • write() - grava o único byte no fluxo de saída do arquivo
  • write(byte() array) - grava os bytes da matriz especificada para o fluxo de saída
  • write(byte() array, int start, int length) - escreve o número de bytes igual ao comprimento para o fluxo de saída de uma matriz começando na posição inicial

Exemplo: FileOutputStream para gravar dados em um arquivo

 import java.io.FileOutputStream; public class Main ( public static void main(String() args) ( String data = "This is a line of text inside the file."; try ( FileOutputStream output = new FileOutputStream("output.txt"); byte() array = data.getBytes(); // Writes byte to the file output.write(array); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

No exemplo acima, criamos um fluxo de saída de arquivo denominado output. O fluxo de saída do arquivo está vinculado ao arquivo output.txt .

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

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

Aqui, quando executamos o programa, o arquivo output.txt é preenchido com o seguinte conteúdo.

 This is a line of text inside the file. 

Nota : O getBytes()método usado no programa converte uma string em uma matriz de bytes.

Método flush ()

Para limpar o fluxo de saída, podemos usar o flush()método. Este método força o fluxo de saída a gravar todos os dados no destino. Por exemplo,

 import java.io.FileOutputStream; import java.io.IOException; public class Main ( public static void main(String() args) throws IOException ( FileOutputStream out = null; String data = "This is demo of flush method"; try ( out = new FileOutputStream(" flush.txt"); // Using write() method out.write(data.getBytes()); // Using the flush() method out.flush(); out.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

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 do arquivo, podemos usar o close()método. Depois que o método é chamado, não podemos usar os métodos de FileOutputStream.

Outros métodos de FileOutputStream

Métodos Descrições
finalize() garante que o close()método seja chamado
getChannel() retorna o objeto FileChannelassociado ao fluxo de saída
getFD() retorna o descritor de arquivo associado ao fluxo de saída

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

Artigos interessantes...