Ebben az oktatóanyagban példák segítségével megismerhetjük a Java FileOutputStream-et és annak módszereit.
A csomag FileOutputStream
osztálya java.io
felhasználható adatok (bájtokban) írására a fájlokba.
Kiterjeszti az OutputStream
absztrakt osztályt.
Mielőtt megismerné FileOutputStream
, feltétlenül ismerje meg a Java fájlokat.
Hozzon létre egy FileOutputStream fájlt
A fájl kimeneti adatfolyam létrehozásához java.io.FileOutputStream
először importálnunk kell a csomagot. A csomag importálása után a következőképpen hozhatunk létre fájlkimeneti adatfolyamot a Java-ban.
1. A fájl elérési útjának használata
// Including the boolean parameter FileOutputStream output = new FileOutputStream(String path, boolean value); // Not including the boolean parameter FileOutputStream output = new FileOutputStream(String path);
Itt létrehoztunk egy kimeneti adatfolyamot, amely az útvonal által megadott fájlhoz fog kapcsolódni.
Az érték egy opcionális logikai paraméter is. Ha ez értékre van állítva true
, akkor az új adatok a fájlban lévő meglévő adatok végéhez kerülnek. Ellenkező esetben az új adatok felülírják a fájl meglévő adatait.
2. A fájl objektumának használata
FileOutputStream output = new FileOutputStream(File fileObject);
Itt létrehoztunk egy kimeneti adatfolyamot, amely összekapcsolódik a fileObject
.
A FileOutputStream módszerei
Az FileOutputStream
osztály megvalósításokat biztosít az OutputStream
osztályban jelen lévő különböző módszerek számára .
write () módszer
write()
- írja az egyetlen bájtot a fájl kimeneti adatfolyamábawrite(byte() array)
- írja a bájtokat a megadott tömbből a kimeneti adatfolyambawrite(byte() array, int start, int length)
- megírja a hosszúsággal megegyező bájtok számát a tömb tömbjéből a kezdő pozíciótól kezdve
Példa: FileOutputStream adatok fájlba írásához
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(); ) ) )
A fenti példában létrehoztunk egy kimeneti fájl kimeneti adatfolyamot. A fájl kimeneti adatfolyam az output.txt fájlhoz van kapcsolva .
FileOutputStream output = new FileOutputStream("output.txt");
Adatok írására a fájlba a write()
módszert használtuk .
Itt, amikor futtatjuk a programot, az output.txt fájl a következő tartalommal töltődik fel.
This is a line of text inside the file.
Megjegyzés : A getBytes()
programban használt módszer egy karakterláncot bájtgá alakít át.
flush () módszer
A kimeneti adatfolyam törléséhez használhatjuk a flush()
módszert. Ez a módszer arra kényszeríti a kimeneti adatfolyamot, hogy az összes adatot a célállomásra írja. Például,
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(); ) ) )
A program futtatásakor a flush.txt fájl kitöltődik a karakterlánc által képviselt szöveggel data
.
bezár () módszer
A fájl kimeneti adatfolyam bezárásához használhatjuk a close()
módszert. Miután a módszert meghívtuk, nem használhatjuk a FileOutputStream
.
A FileOutputStream egyéb módszerei
Mód | Leírások |
---|---|
finalize() | biztosítja a close() módszer meghívását |
getChannel() | FileChannel a kimeneti adatfolyamhoz társított objektumot adja vissza |
getFD() | a kimeneti adatfolyamhoz társított fájlleírót adja vissza |
További információkért látogasson el a Java FileOutputStream oldalra (hivatalos Java dokumentáció).