C # - ไฟล์ I / O
ก fileคือชุดข้อมูลที่จัดเก็บในดิสก์ที่มีชื่อเฉพาะและเส้นทางไดเร็กทอรี เมื่อเปิดไฟล์เพื่ออ่านหรือเขียนไฟล์จะกลายเป็นไฟล์stream.
สตรีมเป็นลำดับของไบต์ที่ส่งผ่านเส้นทางการสื่อสาร มีสองสตรีมหลัก: ไฟล์input stream และ output stream. input stream ใช้สำหรับอ่านข้อมูลจากไฟล์ (อ่านการดำเนินการ) และไฟล์ output stream ใช้สำหรับเขียนลงในไฟล์ (การดำเนินการเขียน)
คลาส C # I / O
เนมสเปซ System.IO มีคลาสต่างๆที่ใช้สำหรับการดำเนินการกับไฟล์จำนวนมากเช่นการสร้างและลบไฟล์การอ่านหรือการเขียนไปยังไฟล์การปิดไฟล์เป็นต้น
ตารางต่อไปนี้แสดงคลาสที่ไม่ใช่นามธรรมที่ใช้กันทั่วไปในเนมสเปซ System.IO -
ซีเนียร์ | I / O คลาสและคำอธิบาย |
---|---|
1 | BinaryReader อ่านข้อมูลดั้งเดิมจากสตรีมไบนารี |
2 | BinaryWriter เขียนข้อมูลดั้งเดิมในรูปแบบไบนารี |
3 | BufferedStream ที่เก็บข้อมูลชั่วคราวสำหรับสตรีมไบต์ |
4 | Directory ช่วยในการจัดการโครงสร้างไดเร็กทอรี |
5 | DirectoryInfo ใช้สำหรับการดำเนินการกับไดเร็กทอรี |
6 | DriveInfo ให้ข้อมูลสำหรับไดรฟ์ |
7 | File ช่วยในการจัดการไฟล์ |
8 | FileInfo ใช้สำหรับการดำเนินการกับไฟล์ |
9 | FileStream ใช้เพื่ออ่านและเขียนไปยังตำแหน่งใด ๆ ในไฟล์ |
10 | MemoryStream ใช้สำหรับการเข้าถึงโดยสุ่มไปยังข้อมูลสตรีมที่เก็บไว้ในหน่วยความจำ |
11 | Path ดำเนินการกับข้อมูลเส้นทาง |
12 | StreamReader ใช้สำหรับอ่านอักขระจากสตรีมไบต์ |
13 | StreamWriter ใช้สำหรับเขียนอักขระลงในสตรีม |
14 | StringReader ใช้สำหรับการอ่านจากสตริงบัฟเฟอร์ |
15 | StringWriter ใช้สำหรับเขียนลงในบัฟเฟอร์สตริง |
คลาส FileStream
FileStreamคลาสในเนมสเปซ System.IO ช่วยในการอ่านเขียนและปิดไฟล์ คลาสนี้มาจากสตรีมคลาสนามธรรม
คุณต้องสร้างไฟล์ FileStreamเพื่อสร้างไฟล์ใหม่หรือเปิดไฟล์ที่มีอยู่ ไวยากรณ์สำหรับการสร้างไฟล์FileStream วัตถุมีดังนี้ -
FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>,
<FileAccess Enumerator>, <FileShare Enumerator>);
ตัวอย่างเช่นเราสร้างวัตถุ FileStream F สำหรับการอ่านไฟล์ชื่อ sample.txt as shown -
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read,
FileShare.Read);
ซีเนียร์ | พารามิเตอร์และคำอธิบาย |
---|---|
1 | FileMode FileModeenumerator กำหนดวิธีการต่างๆในการเปิดไฟล์ สมาชิกของ FileMode enumerator คือ -
|
2 | FileAccess FileAccess ผู้แจงนับมีสมาชิก: Read, ReadWrite และ Write. |
3 | FileShare FileShare ผู้แจงนับมีสมาชิกดังต่อไปนี้ -
|
ตัวอย่าง
โปรแกรมต่อไปนี้แสดงให้เห็นถึงการใช้ FileStream ชั้นเรียน -
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
การดำเนินการไฟล์ขั้นสูงใน C #
ตัวอย่างก่อนหน้านี้ให้การดำเนินการไฟล์อย่างง่ายใน C # อย่างไรก็ตามในการใช้พลังอันยิ่งใหญ่ของคลาส C # System.IO คุณจำเป็นต้องทราบคุณสมบัติและวิธีการที่ใช้กันทั่วไปของคลาสเหล่านี้
ซีเนียร์ | หัวข้อและคำอธิบาย |
---|---|
1 | การอ่านและเขียนลงในไฟล์ข้อความ เกี่ยวข้องกับการอ่านและเขียนลงในไฟล์ข้อความ StreamReader และ StreamWriter ชั้นเรียนช่วยให้สำเร็จ |
2 | การอ่านและเขียนลงในไฟล์ไบนารี มันเกี่ยวข้องกับการอ่านและเขียนลงในไฟล์ไบนารี BinaryReader และ BinaryWriter ชั้นเรียนช่วยให้บรรลุเป้าหมายนี้ |
3 | การจัดการระบบไฟล์ Windows ช่วยให้โปรแกรม C # สามารถเรียกดูและค้นหาไฟล์และไดเรกทอรีของ Windows ได้ |