Classe Java FileOutputStream
Classe Java FileOutputStream
Neste tutorial, aprenderemos sobre o Java FileOutputStream e seus métodos com a ajuda de exemplos.
O FileOutputStream
classe do java.io
pacote pode ser usado para gravar dados (em bytes) nos arquivos.
Ele estende o OutputStream
classe abstrata.
Antes de aprender sobre FileOutputStream
, certifique-se de saber sobre Arquivos Java.
Criar um FileOutputStream
Para criar um fluxo de saída de arquivo, devemos importar o
java.io.FileOutputStream
pacote primeiro. Depois de importar o pacote, veja 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 path .
Além disso, valor é um parâmetro booleano opcional. Se estiver definido como
true
, os novos dados serão anexados ao final dos dados existentes no arquivo. Caso contrário, os novos dados substituirã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
O
FileOutputStream
classe fornece implementações para diferentes métodos presentes no OutputStream
classe. Método write()
write()
- escreve o único byte para o fluxo de saída do arquivowrite(byte[] array)
- grava os bytes da matriz especificada no fluxo de saídawrite(byte[] array, int start, int length)
- escreve o número de bytes igual a comprimento para o fluxo de saída de um array começando na posição start
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 chamado 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 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 fluxo de saída, podemos usar o
flush()
método. Esse 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. Uma vez 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 é chamado |
getChannel() | retorna o objeto de 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).
Java