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

教程基础Java

Controllo del flusso Java

Array Java

Orientato a oggetti (I) Java

Orientato a oggetti (II) Java

Orientato a oggetti (III) Java

Gestione delle eccezioni Java

Lista Java

Queue (coda) Java

Map di Java

Set di Java

Input/Output (I/O) Java

Reader/Writer Java

Altri argomenti Java

Classe FileOutputStream Java

In questo tutorial, impareremo con esempi Java FileOutputStream e i suoi metodi.

La classe FileOutputStream del pacchetto java.io può essere utilizzata per scrivere dati (in unità di byte) nei file.

Eredita dall'astrazione OutputStream.

Prima di studiare FileOutputStream, assicurati di comprendereFile Java.

Creare un FileOutputStream

Per creare uno stream di output di file, dobbiamo prima importare il pacchetto java.io.FileOutputStream. Dopo aver importato il pacchetto, possiamo utilizzare Java per creare uno stream di output di file.

1.使用文件路径

// Include il parametro booleano
FileOutputStream output = new FileOutputStream(String path, boolean value);
// Non include il parametro booleano
FileOutputStream output = new FileOutputStream(String path);

In questo caso, abbiamo creato uno stream di output che verrà collegato al percorso di file specificato.

Inoltre, value è un parametro booleano opzionale. Se viene impostato su true, i nuovi dati verranno aggiunti alla fine dei dati esistenti nel file. Altrimenti, i nuovi dati sovrascriveranno i dati esistenti nel file.

2.使用文件的对象

FileOutputStream output = new FileOutputStream(File fileObject);

Qui, abbiamo creato uno stream di output che si collegherà al file specificato da fileObject.

Metodi di FileOutputStream

La classe FileOutputStream fornisce implementazioni per diversi metodi che si presentano nella classe OutputStream.

Metodo write()

  • write() - Scrive un singolo byte nell'output stream di byte

  • write(byte[] array) - Scrive i byte dell'array specificato nell'output stream

  • write(byte[] array, int start, int length) - Scrive un numero di byte uguale a length dall'indirizzo start dell'array nell'output stream

Esempio: FileOutputStream scrive dati nel file

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();
            //Scrivi byte nel file
            output.write(array);
            output.close();
        }
        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

Nell'esempio sopra, abbiamo creato uno stream di output di file chiamato output. Lo stream di output di file è collegato al fileoutput.txtCollegamento.

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

Per scrivere i dati nel file, abbiamo utilizzato il metodo write().

Qui, quando eseguiamo il programma,output.txtIl file scriverà il seguente contenuto.

Questa è una riga di testo nel file.

Attenzione:Nel programma, viene utilizzato il metodo getBytes() per convertire una stringa in un array di byte.

Metodo flush()

Per pulire lo stream di output, è possibile utilizzare il metodo flush(). Questo metodo forza lo stream di output a scrivere tutti i dati nel destinatario. Ad esempio,

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");
            //Utilizzare il metodo write()
            out.write(data.getBytes());
            //Utilizzare il metodo flush()
            out.flush();
            out.close();
        }
        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

Quando eseguiamo il programma, il fileflush.txtRiempito con il testo rappresentato da stringa data.

Metodo close()

Per chiudere il flusso di output del file, è possibile utilizzare il metodo close(). Una volta chiamato questo metodo, non possiamo utilizzare i metodi di FileOutputStream.

Altri metodi di FileOutputStream

MetodoDescrizione del contenuto
finalize()Assicurarsi che il metodo close() venga chiamato
getChannel()Restituisce l'oggetto FileChannel associato al flusso di output
getFD()Restituisce il descrittore di file associato al flusso di output