บทความนี้ส่วนใหญ่แนะนำการใช้สตรีม java inputstream
(1) FileInputStream: subclass, ช่องสำหรับการอ่านข้อมูล
ขั้นตอนในการใช้งาน:
1. รับไฟล์เป้าหมาย: ไฟล์ใหม่ ()
2. สร้างช่อง: ใหม่ FileInputString ()
3. อ่านข้อมูล: อ่าน ()
4. ทรัพยากรการเปิดตัว: ปิด ()
// แพ็คเกจบางอย่างที่จะนำเข้าโดยค่าเริ่มต้นนำเข้า java.io.file; นำเข้า java.io.fileinputstream; นำเข้า java.io.ioException;
โมฆะคงที่สาธารณะหลัก (String [] args) พ่น IOExcept test1 (); system.out.println ("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -(2) สามวิธีในการอ่านข้อมูล
1. อ่านโดยตรง (เพียงครั้งละหนึ่งไบต์)
int date = fileInputStream.read (); ถ่าน date3 = (char) fileInputStream.read ();
// พิมพ์โมฆะสาธารณะคงที่ test1 () พ่น IOException {// (1) รับไฟล์ไฟล์พา ธ ไฟล์เป้าหมาย = ไฟล์ใหม่ ("c: //users//joke//desktop//demo1.java"); ข้อมูล: อ่าน (); int date = fileInputStream.read (); // นี่คือประเภท int int int date2 = fileInputStream.read (); // char date3 = (char) fileInputStream.read (); // แสดง system.out.println (วันที่+"//"+date2+"//"+date3); // (4) ปล่อยทรัพยากร fileinputStream.close ();}2. ใช้สำหรับลูปเพียงอย่างเดียว (ประสิทธิภาพของ INE)
สำหรับ (int i = 0; i <file.length (); i ++) {system.out.print ((char) fileInputStream.read ()); - // วิธีการสำรวจความเป็นโมฆะแบบคงที่แบบสแตติกแบบสแตติกสองครั้ง () พ่น IOException {// ประสิทธิภาพการทดสอบผ่านเวลาเริ่มต้นเวลานาน = System.currentTimeLis (); ไฟล์ไฟล์ = ไฟล์ใหม่ ("c: //users//joke//desktop//demo1.java = 0; i <file.length (); i ++) {system.out.print ((char) fileInputStream.read ());} fileInputStream.close (); endtime = system.currentTimeLis ();3.Byte [] บัฟเฟอร์ (สามารถอ่านจำนวนไบต์ที่ระบุเท่านั้นและไม่สามารถอ่านไฟล์ที่สมบูรณ์ได้)
ไบต์ [] bt = ไบต์ใหม่ [1024]; int count = fileInputStream.read (bt); System.out.println (สตริงใหม่ (bt, 0, count));
// วิธีที่ 3 สร้างบัฟเฟอร์ (สามารถอ่านขนาดที่ระบุเท่านั้นไม่อ่านไฟล์ที่สมบูรณ์) โมฆะคงที่สาธารณะ test3 () พ่น ioexception {ไฟล์ไฟล์ = ไฟล์ใหม่ ("c: //users//joke//desktop//demo1.java" อ่าน byte [] bt = byte ใหม่ [1024]; // read () อ่าน byte int count = fileInputStream.read (bt); system.out.println (นับ); // แสดงจำนวนไบต์อ่าน system.out.println (สตริงใหม่ (bt, 0, count)); // แปลงไบต์เป็นสตริงเพื่อแสดง FileInputStream.close ();}4. การรวมบัฟเฟอร์และลูป บัฟเฟอร์โดยทั่วไปจะถูกตั้งค่าเป็นหลาย 1024 ยิ่งชุดบัฟเฟอร์ที่ใหญ่ขึ้นเท่าใดประสิทธิภาพการอ่านก็จะยิ่งสูงขึ้น
ไบต์ [] bt = ไบต์ใหม่ [1024]; จำนวน int = 0; ในขณะที่ ((count = fileInputStream.read (bt))! = -1) {system.out.println (สตริงใหม่ (bt, 0, count)); - // วิธีการสี่ลูปรวมกับบัฟเฟอร์ (ประสิทธิภาพสูง) โมฆะคงที่สาธารณะ test4 () พ่น IOException {// ประสิทธิภาพการทดสอบตามเวลาเริ่มต้นเวลานาน = System.currentTimeMillis (); ไฟล์ไฟล์ = ไฟล์ใหม่ ("C: //users//joke//desktop/demo1.java"); FileInputStream (ไฟล์); // บัฟเฟอร์ถูกตั้งค่าโดยทั่วไปเป็นทวีคูณของ 1024 ในทางทฤษฎียิ่งชุดบัฟเฟอร์ที่ใหญ่ขึ้นยิ่งประสิทธิภาพการอ่าน BYTE [] bt = นิวไบต์ [1024]; int count = 0; // เมื่ออ่าน returns -1 ไบต์ใน bt) system.out.println (สตริงใหม่ (bt, 0, count));} fileinputstream.close (); Long Endtime = System.currentTimeMillis (); System.out.println ("เวลาที่ใช้ในการอ่านไฟล์:"+(starttime endtime));}โมโมกล่าวว่า:
ในด้านบนการเปรียบเทียบวิธีที่สองและสี่คุณจะพบว่าประสิทธิภาพของวิธีการ 4 ค่อนข้างสูงดังนั้นจึงใช้วิธีการที่แนะนำสี่วิธี
ที่นี่เราโยนข้อยกเว้นโดยตรงนอกเหนือจากการขว้างเรายังสามารถใช้
try{ }cater{ }finally{ }
เพื่อจัดการข้อยกเว้น
ด้านบนคือการใช้ InputString () กระแสอินพุตของสตรีม Java IO ที่แนะนำให้คุณรู้จัก ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!