Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
535,2 KB
Nội dung
Đọc 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 Làm BufferedStream việc với tập tin văn Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 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 Quản lý hệ thống tập tin System.MarshalByRefObject – Lớp đối tượng NET cho phép điều hành liệu vùng ứng dụng FileSystemInfo – Lớp đối tượng sở biểu diễn file đối tượng hệ thống FileInfo and File – Các lớp thể file hệ thống tập tin DirectoryInfo and Directory – Các lớp thể folder hệ thống tập tin Path – Lớp chứa thành phần tĩnh dùng tạo đường dẫn Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Stream Còn gọi luồng liệu Thư viện: System.IO.Stream Là lớp Abstract nên sử dụng thông qua lớp dẫn xuất Là đối tượng dùng để truyền liệu cho việc đọc ghi liệu file Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 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 Namespace System.IO Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Làm việc với Binary Files Làm việc với lớp FileStream: cho phép mở tạo 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 Làm việc với Binary Files BinaryReader class Dùng để đọc file nhị phân Cung cấp 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 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 phương thức Write với nhiều dạng tham số khác để 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ớ trung gian để đọc liệu giúp việc trao đổi liệu nhanh 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() 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 Thư viện: StreamReader StreamWriter Mặc định làm việc với bảng mã Unicode StreamReader dẫn xuất từ lớp TextReader, cung cấp khả đọc dòng ký tự (CharacterStream) StreamWriter dẫn xuất từ TextWriter cho phép viết liệu văn lên dòng vă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 mẫu Thực việc mở ghi file Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 20 17 Làm việc với tập tin văn Ví dụ: Ghi file vă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 [...]... 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 Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 20 min 17 Làm việc với tập tin văn bản Ví dụ: Ghi file văn bản FileStream... = 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 ... System.MarshalByRefObject – Lớp đối tượng NET cho phép điều hành liệu vùng ứng dụng FileSystemInfo – Lớp đối tượng sở biểu diễn file đối tượng hệ thống FileInfo and File – Các lớp thể file hệ thống tập tin DirectoryInfo... 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 mẫu Thực việc mở ghi file Khoa Công nghệ Thông tin - Đại... 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