English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriais Básicos de Java

Controle de Fluxo Java

Java Vetores

Java Orientação a Objetos (I)

Java Orientação a Objetos (II)

Java Orientação a Objetos (III)

Tratamento de Exceções Java

Java Listas (List)

Java Filas (Queue)

Java Mapas (Map)

Java Conjuntos (Set)

Java Entrada e Saída (I)/O)

Reader do Java/Writer

Outros tópicos do Java

Classe FileOutputStream do Java

Neste tutorial, vamos aprender com exemplos o FileOutputStream e seus métodos em Java.

A classe FileOutputStream do pacote java.io pode ser usada para escrever dados (em bytes) em um arquivo.

Ele herdou a classe abstrata OutputStream.

Antes de aprender FileOutputStream, certifique-se de entenderArquivo Java.

Criar um FileOutputStream

Para criar um fluxo de saída de arquivo, precisamos primeiro importar o pacote java.io.FileOutputStream. Após a importação do pacote, podemos usar Java para criar um fluxo de saída de arquivo.

1Usar o caminho do arquivo

//Com parâmetro booleano
FileOutputStream output = new FileOutputStream(String path, boolean value);
//Sem parâmetro booleano
FileOutputStream output = new FileOutputStream(String path);

Aqui, criamos um fluxo de saída que se conectará ao caminho do arquivo especificado.

Além disso, o valor é um parâmetro booleano opcional. Se 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.

2Usar o objeto do arquivo

FileOutputStream output = new FileOutputStream(File fileObject);

在这里,我们创建了一个输出流,它将链接到fileObject指定的文件。

FileOutputStream的方法

FileOutputStream类为OutputStream类中出现的不同方法提供了实现。

write()方法

  • write() - 将单写到byte文件输出流

  • write(byte[] array) - 将指定数组中的字节写入输出流

  • write(byte[] array, int start, int length)-从位置start开始将等于length的字节数写入数组的输出流

示例:FileOutputStream将数据写入文件

import java.io.FileOutputStream;
public class Main {
    public static void main(String[] args) {
        
        String data = "这是文件中的一行文本。";
        try {
            FileOutputStream output = new FileOutputStream("output.txt");
            byte[] array = data.getBytes();
            //将字节写入文件
            output.write(array);
            output.close();
        }
        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

在上面的示例中,我们创建了一个名为output的文件输出流。文件输出流与文件output.txt链接。

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

要将数据写入文件,我们使用了write()方法。

在这里,当我们运行程序时,output.txt文件将写入以下内容。

这是文件中的一行文本。

注意:程序中使用getBytes()方法将字符串转换为字节数组。

flush()方法

要清除输出流,可以使用flush()方法。此方法强制输出流将所有数据写入目标。例如,

import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
    public static void main(String[] args) throws IOException {
        FileOutputStream out = null;
        String data = "这是flush方法的演示";
        try {
            out = new FileOutputStream(" flush.txt");
            //Uso do método write()
            out.write(data.getBytes());
            //Uso do método flush()
            out.flush();
            out.close();
        }
        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

Quando executamos o programa, o arquivoflush.txtPreenchido com o texto representado por string data.

Método close()

Para fechar o fluxo de saída de arquivo, você pode usar o método close(). Assim que esse método for chamado, não podemos usar os métodos FileOutputStream.

Outros métodos FileOutputStream

MétodoDescrição do conteúdo
finalize()Certifique-se de que o método close() 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