1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình giao diện: Chương 7 - Nguyễn Thị Mai Trang

11 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 202,29 KB

Nội dung

Bài giảng Lập trình giao diện: Chương 7 Làm việc với File và Thư mục, với mục tiêu giúp các bạn có thể tạo, đọc, ghi và cập nhật được file; Sử dụng được lớp File và Directory để truy xuất được thông tin về file và thư mục lưu trữ trên máy tính; Thao tác thành thạo khi truy cập file tuần tự; Sử dụng được các lớp FileStream, StreamReader, StreamWriter để đọc và ghi file text.

08/07/2020 LẬP TRÌNH GIAO DIỆN Nguyễn Thị Mai Trang Nguyễn Thị Mai Trang 1 Chương Làm việc với File Thư mục 08/07/2020 MỤC TIÊU • Tạo, đọc, ghi cập nhật file • Sử dụng lớp File Directory để truy xuất thông tin file thư mục lưu trữ máy tính • Thao tác thành thạo truy cập file • Sử dụng lớp FileStream, StreamReader, StreamWriter để đọc ghi file text • Sử dụng lớp FileStream BinaryFormater để đọc ghi đối tượng vào file Nguyễn Thị Mai Trang 3 NỘI DUNG Lớp File, Directory Stream Làm việc với file thư mục Serialization Nguyễn Thị Mai Trang 4 08/07/2020 7.1 Lớp File, Directory Stream • Giới thiệu • Lớp File • Lớp Directory Nguyễn Thị Mai Trang 5 Giới thiệu • Khi muốn đọc hay ghi liệu vào/ra tập tin hay muốn truyền liệu từ máy sang máy khác, ta phải tổ chức liệu theo cấu trúc byte hay gói tin … • Thư viện NET Framework cung cấp lớp Stream (và lớp kế thừa) để chương trình sử dụng thao tác nhập xuất liệu đọc/ghi tập tin, truyền liệu qua mạng,… • Trong C#, để sử dụng lớp, đối tượng thao tác với file thư mục, cần khai báo không gian tên System.IO Nguyễn Thị Mai Trang 6 08/07/2020 Giới thiệu (tt) • Một số lớp Stream thông dụng: – Stream: Lớp trừu tượng, cung cấp chức đọc/ghi liệu theo byte – BinaryReader: Đọc liệu nhị phân – BinaryWriter: Ghi liệu nhị phân – File, FileInfo, Directory, DirectoryInfo: cung cấp phương thức cho phép thao tác với tập tin thư mục tạo, xóa, đổi tên, liệt kê file thư mục, – FileStream: Đọc/ ghi tập tin theo chế đồng / bất đồng bộ, mặc định đồng – TextReader, TextWriter: lớp trừu tượng cho phép đọc, ghi ký tự – StringReader, StringWriter: kế thừa từ TextReader, TextWriter, cài đặt thêm phương thức đọc, ghi chuỗi Nguyễn Thị Mai Trang 7 Lớp File • Một số phương thức static class File: – AppentText: ghi nội dung văn vào cuối file – Copy: chép file – CreateText: tạo file văn – Delete: Xóa file – Exists: kiểm tra tồn file – GetCreationTime: trả đối tượng DateTime thời điểm file tạo – GetLastAccessTime: trả đối tượng DateTime lần cuối truy cập file Nguyễn Thị Mai Trang 8 08/07/2020 Lớp File (tt) • Một số phương thức static class File (tt): – GetLastWriteTime: trả đối tượng DateTime lần cuối cập nhật nội dung file – Move: di chuyển file – Open: mở file – OpenRead: mở file để đọc – OpenText: mở file văn – OpenWrite: mở file để ghi Nguyễn Thị Mai Trang 9 Lớp Directory • Một số phương thức class Directory: – CreateDirectory: tạo thư mục – Delete: Xóa thư mục – Exists: kiểm tra tồn thư mục – GetCreationTime: trả đối tượng DateTime thời điểm thư mục tạo – GetLastAccessTime: trả đối tượng DateTime lần cuối truy cập thư mục – GetLastWriteTime: trả đối tượng DateTime lần cuối cập nhật nội dung thư mục – Move: di chuyển thư mục Nguyễn Thị Mai Trang 10 10 08/07/2020 7.2 Làm việc với file thư mục • Đọc, ghi tập tin nhị phân – Sử dụng lớp sở Stream Lớp Stream có nhiều phương thức quan trọng phương thức Read(), Write(), BeginRead(), BeginWrite() Flush() – Cách thực sau: • Tạo đối tượng Stream để đọc ghi • Sử dụng phương thức File.OpenRead để đọc File.OpenWrite để ghi vào file • Đọc, ghi tập tin văn bản: – Sử dụng hai lớp StreamReader, StreamWriter • StreamReader: đọc tập tin với hàm Read, ReadLine • StreamWriter: ghi vào tập tìn với hàm Write, WriteLine Nguyễn Thị Mai Trang 11 11 Làm việc với file thư mục (tt) • Tạo, xóa, di chuyển file: sử dụng phương thức static lớp File: – File.Create ( "file_name" ); – File.Delete ( "file_name" ); – File.Move ( "source_file" , "dest_file" ) • Tạo, xóa, di chuyển thư mục: sử dụng phương thức static lớp Directory: – Directory.CreateDirectory ( "dir_name" ); – Directory.Delete ( "dir_name" ); – Directory.Move ( "source_dir" , "dest_dir") Nguyễn Thị Mai Trang 12 12 08/07/2020 Làm việc với file thư mục (tt) • Truy xuất thơng tin file: sử dụng phương thức static lớp File: – File.GetCreationTime ("file_name"); – File.GetLastAccessTime ("file_name"); – File.GetAttributes ("file_name"); – File GetLastWriteTime ( "file_name"); • Truy xuất thơng tin thư mục: sử dụng phương thức static lớp Directory – Directory.GetCreationTime("dir_name"); – Directory.GetLastAccessTime("dir_name"); – Directory.GetAttributes("dir_name"); – Directory.GetLastWriteTime( "dir_name" ); Nguyễn Thị Mai Trang 13 13 Làm việc với file thư mục (tt) • Liệt kê file thư mục thư mục: sử dụng phương thức static lớp Directory – Directory.GetFiles ("dir_name"); – Directory.GetDirectories ("dir_name"); Nguyễn Thị Mai Trang 14 14 08/07/2020 Làm việc với file thư mục (tt) • Ví dụ: nhập đường dẫn ổ đĩa/thư mục, enter, danh sách tập tin thư mục ổ đĩa hiển thị textbox bên (xem tài liệu học tập Lập trình giao diện) Nguyễn Thị Mai Trang 15 15 7.3 Serialization • Serialization – Là trình chuyển đổi cấu trúc liệu đối tượng thành định dạng lưu trữ vào file, nhớ, vận chuyển thơng qua mạng – Ví dụ: tạo đối tượng hình trịn, vẽ giao diện chương trình, sau lưu thành file • Deserialization: – Q trình phục hồi liệu lưu file trở lại trạng thái ban đầu – Ví dụ: đọc file lưu đối tượng hình trịn trước đó, vẽ lại giao diện Nguyễn Thị Mai Trang 16 16 08/07/2020 Serialization (tt) Nguyễn Thị Mai Trang 17 17 Serialization (tt) • NET Framework cung cấp kỹ thuật serialize: – Binary serialize (serialize nhị phân): • Giữ nguyên kiểu liệu  giữ nguyên cấu trúc đối tượng • Được dùng để chia sẻ đối tượng ứng dụng cách serialize vào vùng nhớ clipboard; serialize vào luồng, đĩa từ, nhớ, mạng …; truyền cho máy tính khác mạng – XML SOAP Serialize: • Chỉ serialize trường liệu public  không giữ nguyên kiểu liệu • XML SOAP thường sử dụng việc truyền liệu từ dịch vụ web service Nguyễn Thị Mai Trang 18 18 08/07/2020 Serialization (tt) • Các đối tượng sở có khả serialize • Đối với đối tượng người sử dụng định nghĩa  đặt khai báo lớp thị [Serialize] • Muốn loại trừ thành phần (phương thức, biến thành viên, thuộc tính,…) khơng muốn serialize  ta đặt trước khai báo thị [NonSerialize] • Để serialize đối tượng lớp  sử dụng đối tượng Formatter NET  thực thi interface IFormatter (namespace System.Runtime.Serialization) Nguyễn Thị Mai Trang 19 19 Serialization (tt) • Các đối tượng sử dụng để serialize Net: – BinaryFormatter: serialize đối tượng thành tập tin nhị phân, thuộc namespace System.Runtime.Serialization.Formatters.Binary – SoapFormatter: serialize đối tượng thành định dạng XML để truyền tải thông tin ứng dụng qua mạng thơng qua giao thức HTTP, thuộc namespace System.Runtime.Serialization.Formatters.Soap • Interface IFormatter có hai phương thức Serialize() Deserialize() Nguyễn Thị Mai Trang 20 20 10 08/07/2020 Serialization (tt) • Các bước Serialization: – Thiết kế lớp khả (khai báo[Serialize] khai báo lớp) – Khai báo namespace cần thiết • using System.IO; • using System.Runtime.Serialization; • using System.Runtime.Serialization.Formatters.Binary; – Tạo đối tượng stream • FileStream stream = new FileStream(“filename", FileMode.Create, FileAccess.Write); – Tạo đối tượng BinaryFormatter • BinaryFormatter bf = new BinaryFormatter(); – Gọi phương thức Serialize • bf.Serialize(stream, objclass); Nguyễn Thị Mai Trang 21 21 Serialization (tt) • Các bước Deserialization: – Khai báo namespace cần thiết • using System.IO; • using System.Runtime.Serialization; • using System.Runtime.Serialization.Formatters.Binary; – Tạo đối tượng stream • FileStream stream = new FileStream(“filename", FileMode.Open,FileAccess.Read); – Tạo đối tượng BinaryFormatter • BinaryFormatter bf = new BinaryFormatter(); – Gọi phương thức Deserialize • objclass = (objclass) bf Deserialize(stream); Nguyễn Thị Mai Trang 22 22 11 ... file lưu đối tượng hình trịn trước đó, vẽ lại giao diện Nguyễn Thị Mai Trang 16 16 08/ 07/ 2020 Serialization (tt) Nguyễn Thị Mai Trang 17 17 Serialization (tt) • NET Framework cung cấp kỹ thuật... để đọc ghi đối tượng vào file Nguyễn Thị Mai Trang 3 NỘI DUNG Lớp File, Directory Stream Làm việc với file thư mục Serialization Nguyễn Thị Mai Trang 4 08/ 07/ 2020 7. 1 Lớp File, Directory Stream... ổ đĩa hiển thị textbox bên (xem tài liệu học tập Lập trình giao diện) Nguyễn Thị Mai Trang 15 15 7. 3 Serialization • Serialization – Là q trình chuyển đổi cấu trúc liệu đối tượng thành định dạng

Ngày đăng: 23/02/2022, 10:31

TỪ KHÓA LIÊN QUAN