1. ประเด็นความรู้ที่คุณต้องรู้เพื่อสำเร็จหลักสูตรนี้:
1. เขียนโปรแกรม Java ง่ายๆ เช่น hello world --- เรื่องไร้สาระ - - - ฮ่า
2. ทำความเข้าใจการทำงานของไฟล์ Java
3. ทำความเข้าใจกับการทำงานของบัฟเฟอร์ของ Java
4. จุดจัดการข้อยกเว้นบางประการสำหรับการทำงานของไฟล์: 1. ไม่สามารถอ่านไฟล์ต้นฉบับได้ 2. ไม่สามารถสร้างไฟล์ปลายทางได้ 3. ปัญหาการล็อคไฟล์ 4. ปัญหาอักขระที่อ่านไม่ออก - - อาจจะไม่ใช่ทั้งหมด
นี่คือแพ็คเกจที่จำเป็น
นำเข้า java.io.BufferedInputStream;
นำเข้า java.io.BufferedOutputStream;
นำเข้า java.io.FileInputStream;
นำเข้า java.io.FileOutputStream;
นำเข้า java.io.IOException จำเป็นต้องมีการจัดการข้อยกเว้นระหว่างการดำเนินการ IO
โดยส่วนตัวแล้ว ฉันรู้สึกว่าวิธีการที่มีประสิทธิภาพนี้ในการติดตั้งคอมพิวเตอร์ การดำเนินการที่มีประสิทธิภาพสูงสุดควรจะค่อนข้างสูงในการทำงานของหน่วยความจำ และค่อนข้างต่ำในการดำเนินการ IO โดยตรง - ดังนั้นสิ่งที่ฉันเลือกที่นี่คือการอ่านหน่วยความจำและเขียน IO อย่างสม่ำเสมอโค้ดมีดังนี้:
แพ็คเกจ com.itheima;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;/** * 5. เขียนสำเนาของ ไฟล์โปรแกรมลองใช้วิธีที่มีประสิทธิภาพสูงสุด 1. ไม่สามารถอ่านไฟล์ต้นฉบับได้ 2. ไม่สามารถสร้างไฟล์ปลายทางได้ 3. ปัญหาการล็อคไฟล์ 4. ปัญหาอักขระที่อ่านไม่ออก */public class Test5 {public static void main(String[] args) ส่ง IOException {String src_file = "D:/java/java.doc" ;String des_file = "D:/java/java_copy.doc";copyFile(src_file, des_file);System.out.println("OK!");} public static void copyFile (String src, String des) พ่น IOException {BufferedInputStream inBuff = null;BufferedOutputStream outBuff = null; ลอง {// สร้างสตรีมอินพุตไฟล์ใหม่ และเปรียบเทียบมันบัฟเฟอร์ inBuff = new BufferedInputStream(new FileInputStream(src));// สร้างสตรีมเอาต์พุตไฟล์ใหม่และบัฟเฟอร์ outBuff = new BufferedOutputStream (new FileOutputStream (des)); // บัฟเฟอร์อาร์เรย์ไบต์ [] b = ไบต์ใหม่ [1024 * 5]; int len; ในขณะที่ ((len = inBuff.read ( b)) != -1) {outBuff.write(b, 0, len);}// ล้างสตรีมเอาต์พุตที่บัฟเฟอร์นี้ outBuff.flush();} ในที่สุด {//ปิดสตรีม if (inBuff != null)inBuff.close();if (outBuff != null)outBuff.close();}}}
อาหารเสริมจากชาวเน็ตท่านอื่นๆ
ลอง { File inputFile = new File(args[0]); if (!inputFile.exists()) { System.out.println("ไม่มีไฟล์ต้นฉบับ โปรแกรมจะยุติการทำงาน"); ; } ไฟล์outputFile = ไฟล์ใหม่ (args[1]); InputStream in = new FileInputStream(inputFile); OutputStream out = new FileOutputStream(outputFile); ไบต์ [1024]; int temp = 0; while ((temp = in.read(date)) != -1) { out.write(date); } in.close(); out.close(); (FileNotFoundException e) { // TODO catch block ที่สร้างขึ้นอัตโนมัติ e.printStackTrace(); } catch (IOException e) { // TODO catch block ที่สร้างขึ้นอัตโนมัติ e.printStackTrace(); -