Šioje pamokoje pavyzdžių pagalba sužinosime apie „Java FileOutputStream“ ir jos metodus.
FileOutputStream
Klasės java.io
pakuotėje gali būti naudojamas rašyti duomenis (baitais) į failus.
Tai pratęsia OutputStream
abstrakčią klasę.
Prieš sužinodami apie FileOutputStream
, įsitikinkite, kad žinote apie „Java“ failus.
Sukurkite „FileOutputStream“
Norėdami sukurti failų išvesties srautą, pirmiausia turime importuoti java.io.FileOutputStream
paketą. Kai importuosime paketą, štai kaip galime sukurti failų išvesties srautą „Java“.
1. Naudojant kelią į failą
// Including the boolean parameter FileOutputStream output = new FileOutputStream(String path, boolean value); // Not including the boolean parameter FileOutputStream output = new FileOutputStream(String path);
Čia mes sukūrėme išvesties srautą, kuris bus susietas su keliu nurodytu failu.
Be to, reikšmė yra pasirinktinis loginis parametras. Jei jis bus nustatytas kaip true
, nauji duomenys bus pridėti prie faile esančių duomenų pabaigos. Kitu atveju nauji duomenys perrašo esamus failo duomenis.
2. Naudojant failo objektą
FileOutputStream output = new FileOutputStream(File fileObject);
Čia mes sukūrėme išvesties srautą, kuris bus susietas su failu, kurį nurodė fileObject
.
„FileOutputStream“ metodai
FileOutputStream
Klasė suteikia realizacijos įvairių metodų pristatyti į OutputStream
klasę.
rašyti () metodas
write()
- įrašo vieną baitą į failo išvesties srautąwrite(byte() array)
- rašo baitus iš nurodyto masyvo į išvesties srautąwrite(byte() array, int start, int length)
- rašo baitų skaičių, lygų ilgiui išvesties srautui iš masyvo pradedant nuo padėties pradžios
Pavyzdys: „FileOutputStream“, norint įrašyti duomenis į failą
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(); ) ) )
Ankstesniame pavyzdyje mes sukūrėme failo išvesties srautą, pavadintą išvestimi. Failo išvesties srautas susietas su failu output.txt .
FileOutputStream output = new FileOutputStream("output.txt");
Norėdami įrašyti duomenis į failą, mes naudojome write()
metodą.
Čia, kai vykdome programą, failas output.txt užpildomas tokiu turiniu.
This is a line of text inside the file.
Pastaba : Programoje getBytes()
naudojamas metodas paverčia eilutę į baitų masyvą.
praplaukite () metodas
Norėdami išvalyti išvesties srautą, galime naudoti flush()
metodą. Šis metodas priverčia išvesties srautą rašyti visus duomenis į paskirties vietą. Pavyzdžiui,
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(); ) ) )
Paleidus programą, failas „ flush.txt “ užpildomas tekstu, kurį vaizduoja eilutė data
.
uždaryti () metodas
Norėdami uždaryti failo išvesties srautą, galime naudoti close()
metodą. Kai metodas bus iškviestas, mes negalėsime naudoti FileOutputStream
.
Kiti FileOutputStream metodai
Metodai | Aprašymai |
---|---|
finalize() | užtikrina close() metodo iškvietimą |
getChannel() | grąžina objektą, FileChannel susietą su išvesties srautu |
getFD() | pateikia failo aprašą, susietą su išvesties srautu |
Norėdami sužinoti daugiau, apsilankykite „Java FileOutputStream“ (oficiali „Java“ dokumentacija).