V tomto výukovém programu se na příkladech seznámíme s Java FileOutputStream a jeho metodami.
FileOutputStream
Třída java.io
balíček lze použít k záznamových dat (v bytech) k souborům.
Rozšiřuje OutputStream
abstraktní 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.FileOutputStream
nejprve 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
FileOutputStream
Třída poskytuje implementace pro různé metody prezentovat ve OutputStream
třídě.
metoda write ()
write()
- zapíše jeden bajt do výstupního proudu souboruwrite(byte() array)
- zapíše bajty ze zadaného pole do výstupního prouduwrite(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 FileChannel př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).