Aprendemos sobre o fluxo de entrada de bytes de arquivo nas seções anteriores, portanto, como existe um fluxo de entrada de bytes de arquivo, também há um fluxo de saída de bytes de arquivo correspondente. Nesta seção, aprenderemos sobre o fluxo de saída de bytes de arquivo.
O uso de fluxos de saída geralmente envolve 4 etapas básicas:
Nesta seção, você se familiarizará com as quatro etapas básicas acima, estudando o fluxo de saída de bytes do arquivo.
Se os requisitos de gravação de arquivo forem relativamente simples, você pode usar a classe FileOutputStream (fluxo de saída de bytes de arquivo), que é uma subclasse da classe OutputStream (gravar conteúdo no arquivo em bytes). da classe OutputStream.
Podemos criar um fluxo de saída apontando para um arquivo usando o seguinte método construtor com função de atualização da classe FileOutputStream.
FileOutputStream(Stringname);FileOutputStream(Arquivofile);
O primeiro construtor usa o nome de arquivo fornecido para criar um fluxo FileOutputStream; o segundo construtor usa um objeto File para criar um fluxo FileOutputStream. O arquivo especificado pelos parâmetros nome e arquivo é chamado de destino do fluxo de saída.
O fluxo de saída FileOutputStream abre um canal para o arquivo (o destino é este arquivo e o fluxo de saída aponta para este arquivo).
Nota : Se o arquivo apontado pelo fluxo de saída não existir, Java criará o arquivo. Se o arquivo apontado pelo fluxo de saída já existir, o fluxo de saída atualizará o arquivo (de modo que o comprimento do arquivo seja 0. ).
Além disso, assim como na criação de um fluxo de entrada, podem ocorrer erros (chamados de exceções) ao criar um fluxo de saída. Por exemplo, o arquivo que o fluxo de saída está tentando gravar pode não permitir a operação ou ter outras restrições. Portanto, o fluxo de saída deve ser criado na parte do bloco try da instrução try-catch, e a exceção deve ser detectada e tratada na parte do bloco catch.
Por exemplo, crie um fluxo de saída apontando para destination.txt:
try{FileOutputStreamout=newFileoutputStream(destin.txt);//Cria um fluxo de saída apontando para o arquivo destin.txt}catch(IOExceptione){System.out.println(Filewriteerror:+e);}
ou
Filef=newFile(destin.txt);//Especifique o destino do fluxo de saída try{FileOutputStreamout=newFileOutputStream(f);//Crie um fluxo de saída apontando para o destino}catch(IOExceptione){System.out.println(Filewrite :+ e);}
Podemos criar um fluxo de saída apontando para um arquivo usando o seguinte método construtor da classe FileOutputStream que pode opcionalmente ter funcionalidade de atualização.
FileOutputStream(Stringname,booleanappend);FileOutputStream(Filefile,booleanappend);
Ao usar o método construtor para criar um fluxo de saída apontando para um arquivo, se o parâmetro de acréscimo for verdadeiro, o fluxo de saída não atualizará o arquivo apontado (se o arquivo já existir) e o método de gravação do fluxo de saída será iniciado a partir do final do arquivo Write data, o parâmetro de acréscimo é falso e o fluxo de saída atualizará o arquivo apontado (se o arquivo já existir).