Java FileOutputStream (s příklady)

V tomto výukovém programu se na příkladech seznámíme s Java FileOutputStream a jeho metodami.

FileOutputStreamTřída java.iobalíček lze použít k záznamových dat (v bytech) k souborům.

Rozšiřuje OutputStreamabstraktní třídu.

Než se o tom dozvíte FileOutputStream, nezapomeňte vědět o souborech Java.

Vytvořte FileOutputStream

Abychom mohli vytvořit výstupní proud souboru, musíme java.io.FileOutputStreamnejprve importovat balíček. Jakmile naimportujeme balíček, můžeme v Java vytvořit výstupní datový proud souboru.

1. Pomocí cesty k souboru

 // Including the boolean parameter FileOutputStream output = new FileOutputStream(String path, boolean value); // Not including the boolean parameter FileOutputStream output = new FileOutputStream(String path); 

Zde jsme vytvořili výstupní proud, který bude propojen se souborem určeným cestou.

Hodnota je také volitelný logický parametr. Pokud je nastaveno na true, nová data budou připojena na konec stávajících dat v souboru. Jinak nová data přepíší existující data v souboru.

2. Použití objektu souboru

 FileOutputStream output = new FileOutputStream(File fileObject); 

Zde jsme vytvořili výstupní proud, který bude propojen se souborem určeným fileObject.

Metody FileOutputStream

FileOutputStreamTřída poskytuje implementace pro různé metody prezentovat ve OutputStreamtřídě.

metoda write ()

  • write() - zapíše jeden bajt do výstupního proudu souboru
  • write(byte() array) - zapíše bajty ze zadaného pole do výstupního proudu
  • write(byte() array, int start, int length) - zapíše počet bajtů rovných délce do výstupního proudu z pole počínaje od začátku pozice

Příklad: FileOutputStream pro zápis dat do souboru

 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(); ) ) ) 

Ve výše uvedeném příkladu jsme vytvořili datový proud souboru s názvem výstup. Datový výstupní soubor je propojen se souborem output.txt .

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

K zápisu dat do souboru jsme použili write()metodu.

Tady, když spustíme program, je soubor output.txt naplněn následujícím obsahem.

 This is a line of text inside the file. 

Poznámka : getBytes()Metoda použitá v programu převádí řetězec na pole bajtů.

flush () metoda

K vymazání výstupního proudu můžeme použít flush()metodu. Tato metoda vynutí, aby výstupní proud zapisoval všechna data do cíle. Například,

 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(); ) ) ) 

Když spustíme program, soubor flush.txt je vyplněn textem představovaným řetězcem data.

metoda close ()

K uzavření výstupního proudu souboru můžeme použít close()metodu. Jakmile je metoda volána, nemůžeme použít metody z FileOutputStream.

Další metody FileOutputStream

Metody Popisy
finalize() zajišťuje, že je close()metoda volána
getChannel() vrací objekt FileChannelpřidružený k výstupnímu proudu
getFD() vrací deskriptor souboru přidružený k výstupnímu proudu

Další informace najdete v Java FileOutputStream (oficiální dokumentace Java).

Zajímavé články...