In questo tutorial impareremo a conoscere Java FileOutputStream e i suoi metodi con l'aiuto di esempi.
La FileOutputStream
classe del java.io
pacchetto può essere utilizzata per scrivere dati (in byte) nei file.
Estende la OutputStream
classe astratta.
Prima di saperne di più FileOutputStream
, assicurati di conoscere i file Java.
Crea un FileOutputStream
Per creare un flusso di output di file, dobbiamo java.io.FileOutputStream
prima importare il pacchetto. Una volta importato il pacchetto, ecco come possiamo creare un flusso di output di file in Java.
1. Utilizzo del percorso del file
// Including the boolean parameter FileOutputStream output = new FileOutputStream(String path, boolean value); // Not including the boolean parameter FileOutputStream output = new FileOutputStream(String path);
Qui abbiamo creato un flusso di output che sarà collegato al file specificato dal percorso.
Inoltre, value è un parametro booleano facoltativo. Se è impostato su true
, i nuovi dati verranno aggiunti alla fine dei dati esistenti nel file. In caso contrario, i nuovi dati sovrascrivono i dati esistenti nel file.
2. Utilizzo di un oggetto del file
FileOutputStream output = new FileOutputStream(File fileObject);
Qui abbiamo creato un flusso di output che sarà collegato al file specificato da fileObject
.
Metodi di FileOutputStream
La FileOutputStream
classe fornisce implementazioni per diversi metodi presenti nella OutputStream
classe.
metodo write ()
write()
- scrive il singolo byte nel flusso di output del filewrite(byte() array)
- scrive i byte dall'array specificato nel flusso di outputwrite(byte() array, int start, int length)
- scrive il numero di byte pari alla lunghezza nel flusso di output da un array a partire dalla posizione iniziale
Esempio: FileOutputStream per scrivere dati su un file
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(); ) ) )
Nell'esempio precedente, abbiamo creato un flusso di output di file denominato output. Il flusso di output del file è collegato al file output.txt .
FileOutputStream output = new FileOutputStream("output.txt");
Per scrivere dati nel file, abbiamo utilizzato il write()
metodo.
Qui, quando eseguiamo il programma, il file output.txt viene riempito con il seguente contenuto.
This is a line of text inside the file.
Nota : il getBytes()
metodo utilizzato nel programma converte una stringa in un array di byte.
metodo flush ()
Per cancellare il flusso di output, possiamo usare il flush()
metodo. Questo metodo forza il flusso di output a scrivere tutti i dati nella destinazione. Per 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 = "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 eseguiamo il programma, il file flush.txt viene riempito con il testo rappresentato dalla stringa data
.
metodo close ()
Per chiudere il flusso di output del file, possiamo usare il close()
metodo. Una volta chiamato il metodo, non possiamo usare i metodi di FileOutputStream
.
Altri metodi di FileOutputStream
Metodi | Descrizioni |
---|---|
finalize() | assicura che il close() metodo venga chiamato |
getChannel() | restituisce l'oggetto FileChannel associato al flusso di output |
getFD() | restituisce il descrittore di file associato al flusso di output |
Per saperne di più, visita Java FileOutputStream (documentazione Java ufficiale).