intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Cơ sở lập trình máy tính: Chương 9 - ThS. Nguyễn Thị Khiêm Hòa

Chia sẻ: Cxzvscv Cxzvscv | Ngày: | Loại File: PDF | Số trang:19

63
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Đọc và ghi tập tin với C# nằm trong bài giảng cơ sở lập trình máy tính nhằm trình bày về các nội dung chính: 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.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Cơ sở lập trình máy tính: Chương 9 - ThS. Nguyễn Thị Khiêm Hòa

  1. Đọc và ghi tập tin với C# Giảng viên: Ths. Nguyễn Thị Khiêm Hòa
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. Namespace System.IO Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 7
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. Bài tập Thực hiện:  TạoForm có menu như mẫu  Thực hiện việc mở và ghi file 20 min 17 Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM
  18. 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
  19. Q&A Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 19
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2