Bài giảng Cơ sở Lập trình (Fundamental of Programming) - Chương 9: Đọc và ghi tập tin với C# - Nguyễn Thị Khiêm Hòa

Nội dung

 Quản lý hệ thống tập tin

 Giới thiệu Stream

 Làm việc với tập tin nhị phân

 Làm việc với BufferedStream

 Làm việc với tập tin văn bản

pdf19 trang | Chia sẻ: phuongt97 | Lượt xem: 363 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Cơ sở Lập trình (Fundamental of Programming) - Chương 9: Đọc và ghi tập tin với C# - Nguyễn Thị Khiêm Hòa, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Đọc và ghi tập tin với C# Giảng viên: Ths. Nguyễn Thị Khiêm Hòa Nội dung  Quản lý hệ thống tập tin  Giới thiệu Stream  Làm việc với tập tin nhị phân  Làm việc với BufferedStream  Làm việc với tập tin văn bản Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 2 Quản lý hệ thống tập tin Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 3 Quản lý hệ thống tập tin  System.MarshalByRefObject – Lớp đối tượng của .NET cho phép điều hành dữ liệu giữa các vùng ứng dụng.  FileSystemInfo – Lớp đối tượng cơ sở biểu diễn các file đối tượng hệ thống  FileInfo and File – Các lớp thể hiện một file trên hệ thống tập tin  DirectoryInfo and Directory – Các lớp thể hiện một folder trên hệ thống tập tin.  Path – Lớp chứa các thành phần tĩnh dùng tạo ra các đường dẫn. Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 4 Stream  Còn được gọi là luồng dữ liệu  Thư viện: System.IO.Stream  Là lớp Abstract nên sử dụng thông qua các lớp dẫn xuất  Là đối tượng dùng để truyền dữ liệu cho việc đọc ghi dữ liệu trên file. Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 5 Stream  Các lớp hỗ trợ  Stream class  FileStream class  StreamReader class, StreamWriter class  BinaryReader class, BinaryWriter class  MemoryStream class  BufferedStream class Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 6 Namespace System.IO Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 7 Làm việc với Binary Files  Làm việc với lớp FileStream: cho phép mở hoặc tạo mới file  Khai báo: FileStream = new FileStream(File, Mode, Access, Share)  File: Tên, đường dẫn file cần truy xuất  Mode: Append, Create, Createnew, Open, OpenOrCreate, Truncate  Access: Read, Write, ReadWrite  Share: Inheritable, None, Read, ReadWrite, Write. Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 8 Làm việc với Binary Files  BinaryReader class  Dùng để đọc file nhị phân  Cung cấp các phương thức có dạng ReadXXX(ReadByte, ReadInt32) để đọc nội dung file. Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 9 Làm việc với Binary Files  Ví dụ Đọc file nhị phân FileStream theFile = File.Open(@"c:\somefile.bin", FileMode.Open); BinaryReader reader = new BinaryReader(theFile); long number = reader.ReadInt64(); byte[] bytes = reader.ReadBytes(4); string s = reader.ReadString(); Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 10 Làm việc với Binary Files  BinaryWriter class  Dùng để ghi file nhị phân  Cung cấp các phương thức Write với nhiều dạng tham số khác nhau để ghi nội dung file. Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 11 Làm việc với Binary Files  Ví dụ: Ghi file nhị phân FileStream theFile = File.Open(@"c:\somefile.bin", FileMode.OpenOrCreate,FileAccess.Write); BinaryWriter writer = new BinaryWriter(theFile); long number = 100; byte[] bytes = new byte[] { 10, 20, 50}; string s = “Toi di hoc"; writer.Write(number); writer.Write(bytes); writer.Write(s); Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 12 Làm việc với BufferedStream  Được dùng như bộ nhớ trung gian để đọc dữ liệu giúp việc trao đổi dữ liệu nhanh hơn  Khai báo: Stream = File.OpenRead(Path); Stream = File.OpenWrite(Path); BufferedStream = new BufferedStream (tên Stream) Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 13 Làm việc với BufferedStream  Sử dụng: Thông qua phương thức Read() hoặc Write() while ((bytesRead = bufInput.Read(buffer, 0, SIZE_BUFF)) > 0) { bufOutput.Write(buffer, 0, bytesRead); }  Xóa BufferedStream bufOutput.Flush(); Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 14 Làm việc với tập tin văn bản  Thư viện: StreamReader và StreamWriter  Mặc định làm việc với bảng mã Unicode  StreamReader được dẫn xuất từ lớp TextReader, cung cấp khả năng đọc một dòng ký tự (CharacterStream)  StreamWriter được dẫn xuất từ TextWriter cho phép viết dữ liệu văn bản lên một dòng văn bản Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 15 Làm việc với Text Files private void ReadFile(string file) { StreamReader reader = new StreamReader(file, Encoding.UTF8); richTextBox.Text = reader.ReadToEnd(); reader.Close(); } void WriteFile(string file) { StreamWriter sw = new StreamWriter(file, false, Encoding.Unicode); foreach (string line in richTextBox.Lines) { sw.WriteLine(line); } sw.Close(); } Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 16 Bài tập Thực hiện: Tạo Form có menu như mẫu Thực hiện việc mở và ghi file 20 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 17 Làm việc với tập tin văn bản  Ví dụ: Ghi file văn bản FileStream theFile = File.Open(@"c:\somefile.txt", FileMode.OpenOrCreate, FileAccess.Write); StreamWriter writer = new StreamWriter(theFile); writer.WriteLine("Hello"); writer.Close(); theFile.Close(); Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 18 Q&A Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 19

Các file đính kèm theo tài liệu này:

  • pdfchapter_9_0415_283133.pdf