บทความนี้อธิบายวิธีการอ่านและเขียนไฟล์ในการเขียนโปรแกรม Java แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
บทบาทของการอ่านและเขียนไฟล์ใน Java คืออะไร?
เมื่อตอบคำถามนี้คุณควรนึกถึง Java เป็นเพียงภาษาเครื่องมือการใช้งานของเราดังนั้นคำตอบนั้นชัดเจนนั่นคือเขียนข้อมูลต่างประเทศต่างๆลงในไฟล์ที่แน่นอนสำหรับการจัดเก็บ หรืออ่านข้อมูลจากไฟล์เพื่อให้เราใช้ เช่นเดียวกับกระบวนการภาพยนตร์ต่อไปนี้ดาวน์โหลดภาพยนตร์จากแหล่งข้อมูลเครือข่ายและบันทึกไว้ในคอมพิวเตอร์ของคุณ (เขียนไฟล์) และใช้เครื่องเล่นเพื่อเปิด (อ่านไฟล์) เมื่อคุณต้องการดู
วิธีการอ่านและเขียนไฟล์ใน Java?
ก่อนอื่นให้เข้าใจ มีสตรีมสองประเภทใน Java, Byte Streams และสตรีมอักขระ คลาสพื้นฐานสองคลาสของสตรีมไบต์คือ inputstream และ outputstream; สตรีมตัวละครสองคลาสคือผู้อ่านและนักเขียน โฟลว์ไฟล์ที่เรียกว่าหมายความว่าเราไม่สามารถออกจากสตรีมได้เมื่อเราใช้งานไฟล์ จากนี้เราจะเห็นได้ว่าเราต้องการใช้คลาสบางอย่างที่ต้องสืบทอดหนึ่งในสี่คลาสพื้นฐานดังกล่าวข้างต้น ทุกอย่างในชวาเป็นชั้นเรียนและทุกอย่างเป็นวัตถุ โดยธรรมชาติคุณจะนึกถึงประเภทของการดำเนินการไฟล์:
สี่คลาสที่ใช้โดยตรงต่อไปนี้:
Byte Stream: FileInputStream และ FileOutputStream
สตรีมอักขระ: Filereader และ FileWriter
หาชั้นเรียนได้ง่าย ส่วนที่เหลือคือการหาวิธีที่จะนำไปใช้
มีสองตัวเลือกที่นี่ซึ่งเกี่ยวข้องกับวิธีที่เราเลือกวิธีที่ถูกต้องในการอ่านและเขียนไฟล์?
ความแตกต่างในเกณฑ์การเลือก:
อ่านไฟล์ในไบต์ซึ่งมักใช้ในการอ่านไฟล์ไบนารีเช่นรูปภาพเสียงรูปภาพและไฟล์อื่น ๆ
อ่านไฟล์ในหน่วยของอักขระและมักจะใช้ในการอ่านไฟล์ข้อความตัวเลข ฯลฯ
ว่าจะใช้บัฟเฟอร์เพื่อห่อหุ้มสตรีมอินพุตและกระแสเอาต์พุตหรือไม่นั้นขึ้นอยู่กับขนาดของไฟล์ หากเป็นการอ่านและเขียนไฟล์ขนาดใหญ่ถังบัฟเฟอร์จะถูกเลือกเพื่อให้การอ่านไฟล์และการเขียนประสิทธิภาพ
ต่อไปนี้เป็นตัวอย่างแอปพลิเคชันง่าย ๆ :
1. ใช้สตรีมไบต์เพื่ออ่านและเขียนไฟล์โดยตรง:
หมายเหตุ: FileOutputStream (ไฟล์จริง); พารามิเตอร์ที่แท้จริงใน fileOutputStream (ไฟล์จริง); ระบุว่าไฟล์ต้นฉบับไม่ได้ถูกเขียนทับและเนื้อหาจะถูกเพิ่มโดยตรงหลังจากไฟล์
คลาสสาธารณะ FileTest {ไฟล์คงที่ไฟล์ = ไฟล์ใหม่ ("d: /test.txt"); โมฆะคงที่สาธารณะ (สตริง [] args) {ลอง {fileOutputStream out = new FileOutputStream (ไฟล์จริง); string s = "hello, World!/r/n"; out.write FileInputStream (ไฟล์); // byte [] b = byte ใหม่ [20]; // in.read (b, 0, b.length); // system.out.println (สตริงใหม่ (b)); // in.close (); e) {e.printstacktrace ();}}}2. ใช้สตรีมอักขระเพื่ออ่านและเขียนไฟล์โดยตรง:
คลาสสาธารณะ FILE03 {ไฟล์ไฟล์คงที่ = ไฟล์ใหม่ ("d: /test.txt"); โมฆะคงที่สาธารณะ (สตริง [] args) {ลอง {filewriter fw = filewriter ใหม่ (ไฟล์, true); fw.write ("hello, world!/r/n"); fw.flush i = 0; // string s = ""; // ในขณะที่ ((i = fr.read ())! = -1) // {// s = s +(char) i; //} // system.out.println (s);} catch (filenotfoundexception e) {e.printstacktraceใช้การอ่านไฟล์และเขียนสตรีมหลังจากถูกห่อหุ้มด้วยบัฟเฟอร์:
1. อ่านและเขียนไฟล์หลังจาก encapsulation ของสตรีมไบต์:
ไฟล์ไฟล์คงที่ = ไฟล์ใหม่ ("d: /test.txt"); โมฆะคงที่สาธารณะหลัก (สตริง [] args) {ลอง {// fileOutputStream out = ใหม่ fileOutputStream (ไฟล์จริง); // bufferedOutputStream bout = new BufferedUtTream (out); bout.flush (); // bout.close (); fileInputStream ใน = ใหม่ fileInputStream (ไฟล์); bufferedInputStream bin = ใหม่ bufferedInputStream (in); byte [] b = นิวไบต์ [15]; bin.read (b); bin.close (); e) {e.printstacktrace ();} catch (ioexception e) {e.printstacktrace ();}}}2. อ่านและเขียนไฟล์หลังจากห่อหุ้มสตรีมอักขระ:
คลาสสาธารณะ FILE03 {ไฟล์ไฟล์คงที่ = ไฟล์ใหม่ ("d: /test.txt"); โมฆะคงที่สาธารณะ (สตริง [] args) {ลอง {// fileWriter fw = fileWriter ใหม่ (ไฟล์จริง); // bufferedWriter BW = new BufferedWriter (fw); bw.write ("สวัสดีโลก!" + nextline); // bw.flush (); // bw.close (); filereader fr = filereader ใหม่ (ไฟล์); bufferedreader br = new Bufferedreader (fr); int i = 0; string s = "" s+temp;} system.out.println (s);} catch (filenotfoundexception e) {e.printstacktrace ();} catch (ioexception e) {e.printstacktrace ();}}}}}}}}ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคน