Neste tutorial, aprenderemos sobre Java FileOutputStream e seus métodos com a ajuda de exemplos.
A FileOutputStream
classe do java.io
pacote pode ser usada para gravar dados (em bytes) nos arquivos.
Ele estende a OutputStream
classe 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.FileOutputStream
pacote 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 FileOutputStream
classe fornece implementações para diferentes métodos presentes na OutputStream
classe.
Método write ()
write()
- grava o único byte no fluxo de saída do arquivowrite(byte() array)
- grava os bytes da matriz especificada para o fluxo de saídawrite(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 FileChannel associado 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).