Tässä opetusohjelmassa opitaan Java FileOutputStreamista ja sen menetelmistä esimerkkien avulla.
FileOutputStream
Luokan java.io
paketti voidaan käyttää kirjoittaa tietoja (tavuina) tiedostoihin.
Se laajentaa OutputStream
abstraktia luokkaa.
Ennen kuin opit FileOutputStream
, muista tietää Java-tiedostoista.
Luo FileOutputStream
Tiedoston tulostusvirran luomiseksi meidän on java.io.FileOutputStream
ensin tuotava paketti. Kun tuot paketin, voimme luoda tiedostojen ulostulovirran Java-tiedostoon seuraavasti.
1. Tiedoston polun käyttäminen
// Including the boolean parameter FileOutputStream output = new FileOutputStream(String path, boolean value); // Not including the boolean parameter FileOutputStream output = new FileOutputStream(String path);
Tässä olemme luoneet lähtövirran, joka linkitetään polun määrittelemään tiedostoon.
Arvo on myös valinnainen looginen parametri. Jos se on asetettu arvoon true
, uudet tiedot liitetään tiedostossa olevien tietojen loppuun. Muuten uudet tiedot korvaavat tiedostossa olevat tiedot.
2. Tiedoston objektin käyttäminen
FileOutputStream output = new FileOutputStream(File fileObject);
Tässä olemme luoneet lähtövirran, joka linkitetään käyttäjän määrittelemään tiedostoon fileObject
.
FileOutputStreamin menetelmät
FileOutputStream
Luokka antaa toteutuksia eri menetelmiä esittää, että OutputStream
luokan.
write () -menetelmä
write()
- kirjoittaa yhden tavun tiedoston ulostulovirtaanwrite(byte() array)
- kirjoittaa tavut määritetystä taulukosta lähtövirtaanwrite(byte() array, int start, int length)
- kirjoittaa tavujen määrän, joka on yhtä suuri kuin lähtövirran matriisista lähtöpaikan alusta alkaen
Esimerkki: FileOutputStream tietojen kirjoittamiseen tiedostoon
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(); ) ) )
Yllä olevassa esimerkissä olemme luoneet tiedostojen lähtövirran nimeltään output. Tiedoston ulostulovirta on linkitetty tiedostoon output.txt .
FileOutputStream output = new FileOutputStream("output.txt");
Tietojen kirjoittamiseen tiedostoon olemme käyttäneet write()
menetelmää.
Tässä, kun suoritamme ohjelmaa, output.txt- tiedosto täytetään seuraavalla sisällöllä.
This is a line of text inside the file.
Huomaa : Ohjelmassa getBytes()
käytetty menetelmä muuntaa merkkijonon tavujoukoksi.
huuhtele () menetelmä
Lähtövirran tyhjentämiseksi voimme käyttää flush()
menetelmää. Tämä menetelmä pakottaa lähtövirran kirjoittamaan kaiken datan kohteeseen. Esimerkiksi,
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(); ) ) )
Kun suoritamme ohjelmaa, tiedosto flush.txt on täytetty merkkijonon edustamalla tekstillä data
.
sulje () Menetelmä
Tiedoston tulostusvirran sulkemiseksi voimme käyttää close()
menetelmää. Kun menetelmä on kutsuttu, emme voi käyttää menetelmiä FileOutputStream
.
Muut FileOutputStreamin menetelmät
Menetelmät | Kuvaukset |
---|---|
finalize() | varmistaa, että close() menetelmää kutsutaan |
getChannel() | palauttaa FileChannel lähtövirtaan liittyvän objektin |
getFD() | palauttaa lähtövirtaan liittyvän tiedostokuvaajan |
Lisätietoja on Java FileOutputStream -sivustossa (virallinen Java-dokumentaatio).