ในส่วนก่อนหน้านี้ เราได้เรียนรู้วิธีสร้างสตรีมเอาต์พุตของไฟล์ไบต์ ในส่วนนี้ เราจะเรียนรู้วิธีใช้สตรีมเอาต์พุตเพื่อเขียนไบต์และปิดสตรีมต่อไป
วัตถุประสงค์ของสตรีมเอาต์พุตคือเพื่อให้ช่องสัญญาณไปยังปลายทาง โปรแกรมสามารถเขียนข้อมูลในโปรแกรมไปยังปลายทางผ่านช่องสัญญาณนี้ สตรีมไบต์ของไฟล์สามารถเรียกวิธีการเขียนที่สืบทอดมาจากคลาสพาเรนต์เพื่อเขียนไฟล์ตามลำดับ สตรีม FileOutStream เขียนเนื้อหาลงในไฟล์ตามลำดับ นั่นคือ ตราบใดที่สตรีมไม่ได้ปิด แต่ละครั้งที่มีการเรียกใช้ เมธอดการเขียน เนื้อหาจะถูกเขียนไปยังไฟล์ตามลำดับจนกว่าสตรีมจะถูกปิด
วิธีการเขียนของสตรีมเอาท์พุตไบต์จะเขียนข้อมูลไปยังปลายทางในหน่วยไบต์
กระแสข้อมูลขาออกเรียกวิธีนี้เพื่อเขียนไบต์เดียวไปยังปลายทาง
กระแสข้อมูลขาออกเรียกวิธีนี้เพื่อเขียนอาร์เรย์ไบต์ไปยังปลายทาง
เขียน len ไบต์จากอาร์เรย์ไบต์ที่กำหนดโดยเริ่มต้นจากออฟเซ็ตไปยังปลายทาง
ปิดสตรีมเอาท์พุต
หมายเหตุ : สตรีม FileOutputStream จะเขียนไฟล์ตามลำดับ ตราบใดที่สตรีมไม่ได้ปิด เนื้อหาจะถูกเขียนตามลำดับไปยังปลายทางในแต่ละครั้งที่เรียกใช้เมธอดการเขียนจนกว่าสตรีมจะถูกปิด
ก่อนที่ระบบปฏิบัติการจะบันทึกไบต์ที่โปรแกรมเขียนไปยังเอาท์พุตสตรีมลงในดิสก์ บางครั้งไบต์เหล่านั้นจะถูกเก็บไว้ในบัฟเฟอร์หน่วยความจำ ด้วยการเรียก เมธอด close() คุณสามารถมั่นใจได้ว่าระบบปฏิบัติการจะเขียนเนื้อหาของบัฟเฟอร์สตรีม ปลายทาง นั่นคือ การปิดสตรีมเอาต์พุตสามารถล้างเนื้อหาของบัฟเฟอร์ที่ใช้โดยสตรีม ซึ่งโดยปกติแล้วจะเป็นไฟล์ดิสก์
ตัวอย่างเช่น:
importjava.io.*;publicclassMain{publicstaticvoidmain(Stringargs[]){byte[]a=สวัสดีปีใหม่.getBytes();ไบต์[]b=HappyNewYear.getBytes();Filefile=newFile(a.txt);// เอาต์พุต ปลายทาง try{OutputStreamout=newFileOutputStream(file); //ชี้ไปที่สตรีมเอาต์พุตปลายทาง System.out.println(file.getName()+size:+file.length()+bytes);out.write( a) ;//เขียนข้อมูลไปยังปลายทาง out.close();out=newFileOutputStream(file,true);//เตรียมเพิ่มเนื้อหาต่อท้ายไฟล์ System.out.println(file.getName()+size:+ ไฟล์ .length()+bytes);out.write(b,0,b.length);System.out.println(file.getName()+size:+file.length()+bytes);out close( );} จับ (IOExceptione) {System.out.println (ข้อผิดพลาด + e);}}}ผลการวิ่งมีดังนี้:
ขนาดของ a.txt: 0 ไบต์ ขนาดของ a.txt: 12 ไบต์ ขนาดของ a.txt: 26 ไบต์