1. OutputStream
kelas
Kita bubar njelajah aliran input. Iku wektu kanggo pirembagan bab output stream.
Kelas kasebut OutputStream
minangka kelas induk kanggo kabeh kelas sing ndhukung output byte. Iki minangka kelas abstrak sing ora nindakake apa-apa, nanging nduweni kelas turunan kanggo saben kesempatan.
Muni rumit banget. Kanggo sijine iku luwih gampang, kelas iki makaryakke ing bita, lan ora, contone, karakter utawa jinis data liyane. Lan kasunyatan sing abstrak tegese kita biasane ora nggunakake, nanging rodo salah siji saka kelas turunane. Contone, FileOutputStream
lan liya-liyane.
Nanging bali menyang OutputStream
kelas. Kelas iki nduweni metode sing kudu ditindakake kabeh kelas turunane. Ing ngisor iki sing utama:
Metode | Katrangan |
---|---|
|
Nulis siji bait (ora an int ) menyang stream. |
|
Nulis array saka bita menyang stream |
|
Nulis bagean saka Uploaded byte menyang stream |
|
Nulis kabeh data sing disimpen ing buffer menyang stream |
|
Nutup stream |
Nalika nggawe obyek saka kelas sing oleh warisan InputStream
, sampeyan biasane nemtokake obyek sumber sing InputStream
data diwaca saka. Nalika sampeyan nggawe obyek saka kelas sing oleh warisan OutputStream
, sampeyan uga biasane nemtokake obyek target utawa stream sing data bakal ditulis kanggo.
Ayo goleki kabeh metode kelas kanthi ringkes OutputStream
:
write(int b)
cara
Cara iki nulis siji byte (ora an int
) menyang stream output. Nilai sing dilewati dibuwang menyang bait, lan telung bait pertama int dibuwang.
write(byte[] buffer)
cara
Nulis Uploaded diwenehi saka bita menyang stream output. Mekaten.
write(byte[] buffer, int offset, int length)
cara
Nulis bagean saka Uploaded liwat bita menyang stream output. Variabel offset nuduhake indeks saka unsur pisanan saka array, lan length
dawa subset bakal ditulis.
flush()
cara
Cara iki flush()
digunakake kanggo meksa data apa wae sing duweni potensi buffer ing stream saiki supaya ditulis menyang stream target. Iki cocog nalika nggunakake buffering lan / utawa sawetara obyek stream disusun ing chain.
close()
cara
Nulis data sing ora ditulis menyang obyek target. Cara kasebut close()
ora perlu diarani yen sampeyan nggunakake try-with-resources
blok.
Tuladha nyalin file
Kode | Cathetan |
---|---|
|
InputStream kanggo maca saka file OutputStream kanggo nulis menyang file Buffer ing ngendi kita bakal maca data Anggere ana data ing stream Waca data menyang buffer Tulis data saka buffer menyang stream kapindho |
2. Writer
kelas
Kelas Writer
iku persis padha karo OutputStream
kelas, nanging mung siji prabédan sepisan maneh: dianggo karo karakter ( char
) tinimbang bita.
Iki kelas abstrak: sampeyan ora bisa nggawe obyek saka Writer
kelas. Tujuan utamane yaiku dadi kelas induk sing umum kanggo atusan kelas turunan lan menehi cara umum kanggo nggarap aliran karakter.
Metode kelas Writer
(lan kabeh kelas turunane):
Metode | Katrangan |
---|---|
|
Nulis siji karakter (ora an int ) menyang stream. |
|
Nulis array karakter menyang stream |
|
Nulis bagean saka macem-macem karakter menyang stream |
|
Nulis string menyang stream |
|
Nulis bagéan saka senar menyang stream |
|
Nulis kabeh data sing disimpen ing buffer menyang stream |
|
Nutup stream |
Cara kasebut meh padha karo metode kelas OutputStream
, nanging bisa digunakake kanthi karakter tinimbang bita.
Deskripsi metode:
write(int b)
cara
Cara iki nulis karakter siji ( char
- ora an int
) menyang stream output. Nilai liwati dibuwang menyang a char
, lan rong bita pisanan dibuwak.
write(char[] buffer)
cara
Nulis array diwenehi karakter menyang stream output.
write(char[] buffer, int offset, int length)
cara
Nulis bagean saka Uploaded liwat karakter kanggo stream output. Variabel kasebut offset
nuduhake indeks saka unsur pisanan saka array, lan length
dawa subset sing bakal ditulis.
write(String str)
cara
Nulis string diwenehi menyang stream output.
write(String str, int offset, int length)
cara
Nulis bagean saka senar diwenehi kanggo stream output: senar diowahi kanggo Uploaded karakter. Variabel kasebut offset
nuduhake indeks saka unsur pisanan saka array, lan length
dawa subset sing bakal ditulis.
flush()
cara
Cara iki flush()
digunakake kanggo meksa data apa wae sing duweni potensi buffer ing stream saiki supaya ditulis menyang stream target. Iki cocog nalika nggunakake buffering lan / utawa sawetara obyek stream disusun ing chain.
close()
cara
Nulis data sing ora ditulis menyang obyek target. Cara kasebut close()
ora perlu diarani yen sampeyan nggunakake try-with-resources
blok.
Conto program sing nyalin file teks:
Kode | Cathetan |
---|---|
|
Reader kanggo maca saka file Writer kanggo nulis menyang file Buffer ing ngendi kita bakal maca data Anggere ana data ing stream Waca data menyang buffer Tulis data saka buffer menyang stream kapindho |
StringWriter
kelas
Ana kelas menarik liyane sing marisi Writer
kelas kasebut: diarani StringWriter
. Isine string mutable - StringBuffer
obyek. Lan saben-saben sampeyan "nulis" soko kanggo StringWriter
obyek, teks mung ditambahake menyang buffer internal.
Tuladha:
Kode | Cathetan |
---|---|
|
Aliran karakter target ( StringWriter ) digawe Senar ditulis menyang buffer ing jero StringWriter Senar ditulis menyang buffer ing StringWriter Ngonversi isi obyek dadi senar. |
Ing kasus iki, StringWriter
kelas ateges pambungkus liwat StringBuffer
kelas, nanging StringWriter
kelas iku turunan saka Writer
kelas stream, lan bisa digunakake ing rentengan obyek stream. Iki minangka properti sing migunani banget ing praktik.
GO TO FULL VERSION