U ovom uputstvu uz primjere ćemo naučiti o Java FileOutputStream i njegovim metodama.
FileOutputStream
Razred java.io
paket može se koristiti podacima pisati (u bajtovima) do datoteke.
Proširuje OutputStream
apstraktnu klasu.
Prije nego što naučite o FileOutputStream
, pobrinite se da znate o Java datotekama.
Stvorite FileOutputStream
Da bismo stvorili izlazni tok datoteke, prvo moramo uvesti java.io.FileOutputStream
paket. Nakon što uvozimo paket, evo kako možemo stvoriti izlazni tok datoteke u Javi.
1. Korištenje puta do datoteke
// Including the boolean parameter FileOutputStream output = new FileOutputStream(String path, boolean value); // Not including the boolean parameter FileOutputStream output = new FileOutputStream(String path);
Ovdje smo stvorili izlazni tok koji će biti povezan s datotekom navedenom putem.
Također, vrijednost je neobavezni logički parametar. Ako je postavljeno na true
, novi će se podaci dodati na kraj postojećih podataka u datoteci. Inače, novi podaci prepisuju postojeće podatke u datoteci.
2. Korištenje objekta datoteke
FileOutputStream output = new FileOutputStream(File fileObject);
Ovdje smo stvorili izlazni tok koji će biti povezan s datotekom koju je odredio fileObject
.
Metode FileOutputStream
FileOutputStream
Klasa pruža implementacije za različite metode prezentirati u OutputStream
razredu.
metoda write ()
write()
- zapisuje jedan bajt u izlazni tok datotekewrite(byte() array)
- zapisuje bajtove iz navedenog polja u izlazni tokwrite(byte() array, int start, int length)
- zapisuje broj bajtova jednak duljini u izlazni tok iz polja počevši od početka položaja
Primjer: FileOutputStream za upisivanje podataka u datoteku
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(); ) ) )
U gornjem primjeru stvorili smo izlazni tok datoteke nazvan output. Izlazni tok datoteke povezan je s datotekom output.txt .
FileOutputStream output = new FileOutputStream("output.txt");
Za pisanje podataka u datoteku koristili smo write()
metodu.
Ovdje, kada pokrenemo program, datoteka output.txt puni se sljedećim sadržajem.
This is a line of text inside the file.
Napomena : getBytes()
Metoda korištena u programu pretvara niz u niz bajtova.
flush () metoda
Da bismo očistili izlazni tok, možemo koristiti flush()
metodu. Ova metoda prisiljava izlazni tok da upiše sve podatke na odredište. Na primjer,
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(); ) ) )
Kad pokrenemo program, datoteka flush.txt ispunjava se tekstom predstavljenim nizom data
.
close () Metoda
Da bismo zatvorili izlazni tok datoteke, možemo koristiti close()
metodu. Jednom kada se metoda pozove, ne možemo se koristiti metodama FileOutputStream
.
Ostale metode FileOutputStreama
Metode | Opisi |
---|---|
finalize() | osigurava pozivanje close() metode |
getChannel() | vraća objekt FileChannel povezan s izlaznim tokom |
getFD() | vraća deskriptor datoteke povezan s izlaznim tokom |
Da biste saznali više, posjetite Java FileOutputStream (službena Java dokumentacija).