สตรีมเป็นชุดข้อมูล
เมื่อมีการโต้ตอบข้อมูลระหว่างสื่อที่แตกต่างกัน Java จะใช้สตรีมเพื่อนำไปใช้ แหล่งข้อมูลสามารถเป็นไฟล์ฐานข้อมูลเครือข่ายหรือแม้กระทั่งโปรแกรมอื่น ๆ
ตัวอย่างเช่นการอ่านข้อมูลของไฟล์ลงในโปรแกรมจากมุมมองของโปรแกรมเรียกว่าสตรีมอินพุต
สตรีมไบต์ (อ่านและเขียนข้อมูลในไบต์)
สตรีมอินพุตอินพุทสตรีมอินพุตเป็นคลาสนามธรรมซึ่งให้การประกาศวิธีการเท่านั้น แต่ไม่ได้ให้การใช้งานเฉพาะของวิธีการ
FileInputStream เป็นคลาสย่อยของ InputStream ต่อไปนี้คือการอ่านไฟล์โดยใช้ FileInputStream เป็นตัวอย่าง
แพ็คเกจ testio; นำเข้า java.io.file; นำเข้า java.io.fileinputstream; นำเข้า java.io.ioexception; นำเข้า java.util.date; คลาสสาธารณะ testfile {โมฆะคงที่สาธารณะหลัก (สตริง [] args) โยน ioexception {ไฟล์ f = ไฟล์ใหม่ FileInputStream (f); // สร้างอาร์เรย์ไบต์และความยาวของมันคือความยาวของไฟล์ไบต์ [] bs = ไบต์ใหม่ [(int) f.length ()]; system.out.println ("อ่านเนื้อหาทั้งหมดของไฟล์ในรูปแบบของไบต์ สำหรับ (byte b: bs) {system.out.println (b);} fis.close ();}}สตรีมเอาท์พุท OutputStream BYTE ยังเป็นคลาสนามธรรมเพียงให้การประกาศวิธีการเท่านั้นไม่ใช่การใช้วิธีการเฉพาะของวิธีการ
FileOutputStream เป็นคลาสย่อยของ OutputStream ต่อไปนี้คือการเขียนข้อมูลโดยใช้ FileOutputStream เป็นตัวอย่าง
แพ็คเกจ testio; นำเข้า java.io.file; นำเข้า java.io.filenotfoundexception; นำเข้า java.io.fileoutputStream; นำเข้า java.io.ioException; คลาสสาธารณะเขียน {โมฆะสาธารณะคงที่ (สตริง [] args) โยน ioexception fileOutputStream (f); ข้อมูลไบต์ [] = {87,88}; fos.write (ข้อมูล); fos.close ();}}หมายเหตุ: หากไม่มีไฟล์ LOL การดำเนินการเขียนจะสร้างไฟล์โดยอัตโนมัติ หากการทดสอบไดเรกทอรีไม่มีอยู่จะมีการโยนข้อยกเว้น
ดังนั้นหากไม่มีการทดสอบไดเรกทอรีโปรแกรมจะถูกสร้างขึ้นโดยอัตโนมัติได้อย่างไร ถ้าเส้นทางเป็น f: /test/yang/lol.txt และไม่มีการทดสอบหรือหยางอยู่หรือไม่?
แพ็คเกจ testio; นำเข้า java.io.file; นำเข้า java.io.filenotfoundException; นำเข้า java.io.fileoutputStream; นำเข้า java.io.ioException; คลาสสาธารณะเขียน {โมฆะสาธารณะคง ไฟล์ ("f: /test/yang/csdn/lol.txt"); system.out.println (f.exists ()); ไฟล์ dir = f.getParentFile (); // รับไดเรกทอรีที่ไฟล์ไม่ได้มีอยู่ fos = ใหม่ fileOutputStream (f); ข้อมูลไบต์ [] = {87,88}; fos.write (ข้อมูล); fos.close ();}}ไดเรกทอรีที่ได้รับไฟล์ในโปรแกรม หากไดเรกทอรีไม่มีอยู่ไดเรกทอรีจะถูกสร้างขึ้น
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของการตีความโดยละเอียดของบทความนี้เกี่ยวกับลำธาร Java IO และฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!