C# มีการทำงานของไฟล์ดังต่อไปนี้ -
- สร้าง เปิด อ่าน และเขียนไฟล์
- ต่อท้าย
- ลบ ฯลฯ
คลาส FileStream ในเนมสเปซ System.IO ช่วยในการอ่าน เขียน และปิดไฟล์ คลาสนี้มาจากคลาสนามธรรม Stream
คุณต้องสร้างวัตถุ FileStream เพื่อสร้างไฟล์ใหม่หรือเปิดไฟล์ที่มีอยู่ ไวยากรณ์สำหรับการสร้างวัตถุ FileStream มีดังนี้ -
FileStream = new FileStream( <file_name>, <FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>);
ในที่นี้ การทำงานของไฟล์จะถูกรวมไว้ด้วยดังแสดงด้านล่าง −
โหมดไฟล์ enumerator กำหนดวิธีการต่างๆ ในการเปิดไฟล์ สมาชิกของ FileMode enumerator คือ −
-
ต่อท้าย − เปิดไฟล์ที่มีอยู่แล้ววางเคอร์เซอร์ไว้ที่ท้ายไฟล์ หรือสร้างไฟล์ขึ้น หากไม่มีไฟล์อยู่
-
สร้าง − มันสร้างไฟล์ใหม่
-
สร้างใหม่ − ระบุระบบปฏิบัติการว่าควรสร้างไฟล์ใหม่
-
เปิด − มันเปิดไฟล์ที่มีอยู่
-
OpenOrCreate − ระบุระบบปฏิบัติการว่าควรเปิดไฟล์หากมีอยู่ มิฉะนั้น ควรสร้างไฟล์ใหม่
-
ตัดทอน − มันเปิดไฟล์ที่มีอยู่และตัดทอนขนาดให้เป็นศูนย์ไบต์
การเข้าถึงไฟล์ - ตัวแจงนับ FileAccess มีสมาชิก -
- อ่าน
- อ่านเขียนและ
- เขียน
แชร์ไฟล์ - ตัวแจงนับ FileShare มีสมาชิกดังต่อไปนี้ -
-
สืบทอดได้ − อนุญาตให้ตัวจัดการไฟล์ส่งต่อมรดกไปยังกระบวนการลูก
-
ไม่มี − ปฏิเสธการแชร์ไฟล์ปัจจุบัน
-
อ่าน − อนุญาตให้เปิดไฟล์เพื่ออ่านได้
-
อ่านเขียน − อนุญาตให้เปิดไฟล์เพื่ออ่านและเขียนได้
-
เขียน − อนุญาตให้เปิดไฟล์เพื่อเขียน
เรามาดูตัวอย่างการสร้าง เปิด และอ่านเนื้อหาของไฟล์กัน −
ตัวอย่าง
using System; using System.IO; namespace FileIOApplication { class Program { static void Main(string[] args) { FileStream F = new FileStream("test.dat", FileMode.OpenOrCreate, FileAccess.ReadWrite); for (int i = 1; i <= 20; i++) { F.WriteByte((byte)i); } F.Position = 0; for (int i = 0; i <= 20; i++) { Console.Write(F.ReadByte() + " "); } F.Close(); Console.ReadKey(); } } }
ผลลัพธ์
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1