BufferedReader ใน Java: วิธีอ่านข้อความจากอินพุตสตรีม



บทความนี้ครอบคลุม BufferedReader ใน Java จากคลาส Reader พร้อมกับตัวสร้างและวิธีการและคำอธิบายต่างๆพร้อมตัวอย่าง

Java มีกลไกหลายอย่างเพื่ออ่านจากไฟล์ ไฟล์ . คลาสที่สำคัญอย่างหนึ่งที่ช่วยในการดำเนินการนี้คือ BufferedReader . ดังนั้นบทความนี้เกี่ยวกับ BufferedReader ใน จะช่วยคุณในการทำความเข้าใจคลาส Bufferedreader พร้อมกับตัวอย่าง ต่อไปนี้เป็นหัวข้อที่กล่าวถึงในบล็อกนี้:

BufferedReader ใน Java คืออะไร?

BufferedReader คือไฟล์ คลาส Java ที่อ่านข้อความจากอินพุตสตรีม บัฟเฟอร์อักขระเพื่อให้สามารถอ่านอักขระได้อย่างมีประสิทธิภาพ อาร์เรย์ ฯลฯ มันสืบทอดคลาสผู้อ่านและทำให้โค้ดมีประสิทธิภาพเนื่องจากเราสามารถอ่านข้อมูลทีละบรรทัดด้วย readline () . มีตัวชี้บางอย่างที่เราต้องคำนึงถึงในขณะที่ทำงานกับคลาส BufferedReader ใน Java





  • เราอาจต้องระบุขนาดบัฟเฟอร์แม้ว่าค่าเริ่มต้นจะใหญ่พอสำหรับวัตถุประสงค์ใดก็ตาม
  • เมื่อมีการร้องขอจากผู้อ่านแต่ละคำขอที่เกี่ยวข้องคำขออ่านจะสร้างขึ้นด้วยอักขระที่อยู่เบื้องหลัง
  • ขอแนะนำให้รวมคลาส BufferedReader ไว้รอบ ๆ ตัวอ่านเช่น InputStreamReaders เสมอ
  • สำหรับโปรแกรมที่ใช้ DataInputaStreams สำหรับการป้อนข้อความ BufferedReader ที่เหมาะสมจะแทนที่ DataInputStream เพื่อโลคัลไลซ์

การประกาศคลาส BufferedReader

คลาสสาธารณะ BufferedReader ขยาย Reader

Java BufferedReader Constructors

ผู้สร้าง คำอธิบาย

BufferedReader (ตัวอ่านตัวอ่าน)

ตัวสร้างนี้สร้างสตรีมอินพุตอักขระบัฟเฟอร์ที่ทำงานบนบัฟเฟอร์อินพุตขนาดเริ่มต้น



BufferedReader (ตัวอ่านขนาด int)

ใช้ขนาดที่ระบุสำหรับบัฟเฟอร์อินพุตสำหรับการบัฟเฟอร์สตรีมอินพุตอักขระ

วิธีการและคำอธิบาย

ต่อไปนี้เป็นวิธีการพร้อมคำอธิบายที่เรามีสำหรับคลาส Java BufferedReader



อะไรอยู่ในนั้น__
วิธี คำอธิบาย

int อ่าน ()

อ่านอักขระเดี่ยว

สตริง readLine ()

มันอ่านบรรทัดของข้อความ

รีเซ็ตเป็นโมฆะ ()

เปลี่ยนตำแหน่งสตรีมไปยังตำแหน่งที่เรียกเมธอด mark ล่าสุด

int อ่าน (ถ่าน [] cb, ปิด int, int len)

อ่านอักขระในส่วนของอาร์เรย์

เครื่องหมายบูลีน

จะทดสอบการรองรับสตรีมอินพุตสำหรับการรีเซ็ตและทำเครื่องหมายวิธีการ

บูลีนพร้อม ()

ตรวจสอบว่าอินพุตสตรีมพร้อมสำหรับการอ่านหรือไม่

ข้ามยาว (n ยาว)

ข้ามอักขระ

ปิดเป็นโมฆะ ()

ปิดสตรีมอินพุต

เครื่องหมายโมฆะ (int readAheadLimit)

ถั่วใน java คืออะไร
ใช้เพื่อทำเครื่องหมายตำแหน่งปัจจุบันในสตรีม

ตัวอย่าง:

import java.io. * public class ตัวอย่าง {public static void main (String args [] throws Exception) {FileReader f = new FileReader ('filelocation') BufferedReader b = new BufferedReader (f) int i while ((i = b. อ่าน ())! = -1) {System.out.println ((ถ่าน) i)} b.close () f.close ()

ความแตกต่างระหว่าง Scanner และ BufferedReader

BufferedReader สแกนเนอร์

ซิงโครนัสและควรใช้กับหลายเธรด

ไม่ซิงโครนัสและไม่ใช้กับหลายเธรด

หน่วยความจำบัฟเฟอร์มีขนาดใหญ่ขึ้น

หน่วยความจำบัฟเฟอร์มีขนาดเล็กลง

เร็วกว่าสแกนเนอร์

ช้าลงเนื่องจากทำการแยกวิเคราะห์ข้อมูลอินพุต

ทับทิมในตลาดงานราง

ไม่มีความคลุมเครือที่เกี่ยวข้องกับวิธีการ nextline ()

มีปัญหามากมายเกี่ยวกับวิธีการ nextline ()

ใช้บัฟเฟอร์เพื่ออ่านอักขระจากสตรีมอินพุตอักขระ

เป็นเครื่องสแกนข้อความธรรมดาที่แยกวิเคราะห์ประเภทและสตริงดั้งเดิม

BufferedReader ในตัวอย่าง JDK7

นำเข้า java.io. * คลาสสาธารณะตัวอย่าง {public static void main (String [] args) {try (BufferedReader b = new BufferedReader (new fileReader ('filename'))) {String s while ((s = b.readLine ( ))! = null) {System.out.println (s)}} จับ (IOException จ) {e.printStackTrace ()}}}

การอ่านข้อมูลจากคอนโซลโดย InputStreamReader และ BufferedReader ใน Java

import java.io. * public class ตัวอย่าง {public static void main (String args [] throws Exception) {InputStreamReader i = new InputStreamReader (system.in) BufferedReader b = new BufferedReader (i) System.out.println ('เข้าสู่หลักสูตร ') หลักสูตรสตริง = b.readLine () System.out.pritln (' Edureka '+ หลักสูตร)}}
 เอาท์พุต: เข้าสู่หลักสูตร Java Edureka Java

การอ่านข้อมูลจากคอนโซลจนกว่าผู้ใช้จะหยุดเขียน

import java.io. * public class ตัวอย่าง {public static void main (String args [] throws Exception) {InputStreamReader i = new InputStreamReader (system.in) BufferedReader b = new BufferedReader (i) string course = '' while (! name .equals ('หยุด')) {System.out.println ('enter course:') course = b.readLine () System.out.println ('Course is:' + course)} b.close () i. ปิด() } }
 เอาท์พุต: เข้าสู่หลักสูตร: หลักสูตรคือ: Java เข้าสู่หลักสูตร: หลักสูตรคือ: หยุด

สิ่งนี้นำเราไปสู่ตอนท้ายของบทความนี้ซึ่งเราได้เรียนรู้วิธีอ่านอักขระจากสตรีมอินพุตอักขระโดยใช้คลาส BufferedReader ใน Java หวังว่าคุณจะชัดเจนกับทุกสิ่งที่แบ่งปันกับคุณในบทช่วยสอนนี้

หากคุณพบบทความเกี่ยวกับ“ BufferedReader ใน Java” นี้เกี่ยวข้องโปรดดูที่ไฟล์ บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้พร้อมเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก

เราอยู่ที่นี่เพื่อช่วยคุณในทุกขั้นตอนในการเดินทางของคุณและจัดทำหลักสูตรที่ออกแบบมาสำหรับนักเรียนและผู้เชี่ยวชาญที่ต้องการเป็น Java Developer หลักสูตรนี้ออกแบบมาเพื่อให้คุณเริ่มต้นการเขียนโปรแกรม Java และฝึกอบรมแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับแนวคิดต่างๆ ชอบ ไฮเบอร์เนต & .

หากคุณพบคำถามใด ๆ อย่าลังเลที่จะถามคำถามทั้งหมดของคุณในส่วนความคิดเห็นของ“ BufferedReader ใน Java” และทีมงานของเรายินดีที่จะตอบ