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

nền tảng lập trình c bài 7 xử lý nhập xuất dữ liệu

85 426 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Xử lý nhập/xuất dữ liệu
Trường học Trường Đại Học Khoa Học Tự Nhiên TP.HCM
Chuyên ngành Khoa học Máy Tính
Thể loại Bài giảng
Thành phố TP.HCM
Định dạng
Số trang 85
Dung lượng 431,92 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TAM TIN HOC Khái niệm về các loại tập tin ° C6 3 loại dữ liệu kiểu tập tin: — Tập tin văn bản Text File — Tập tin định kiêu Typed File

Trang 1

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Trang 2

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Bài 7: Xử lý nhập/xuất dữ liệu

° Khái niệm về các loại tập tin

° Xử lý hệ thông tập tin và thư mục qua các lớp

°_ Xử lý đọc ghi tập tin

8tiết

Trang 3

-TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Khái niệm về các loại tap tin

®- Đối với các kiêu dữ liệu như kiểu só, kiêu

mang, kiéu cau trúc thì dữ liệu được tổ chức trong bộ nhớ trong (RAM) của máy tính nên khi kết thúc việc thực hiện chương trinh thi dữ

liệu cũng bị mat

° Dé giải quyết vẫn đề, người ta đưa ra kiêu tap

tin (file) cho phép lưu trữ dữ liệu ở bộ nhớ ngoài (dia) Khi kết thúc chương trình thi dữ

liệu vân còn do đó chúng ta có thé str dung nhiều lần.

Trang 4

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Khái niệm về các loại tập tin

° C6 3 loại dữ liệu kiểu tập tin:

— Tập tin văn bản (Text File)

— Tập tin định kiêu (Typed File)

— Tập tin không định kiêu (Untyped File)

Trang 5

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Khái niệm về các loại tập tin

° Tap tin van ban (Text File):

— La loai tap tin dung dé ghi các ký tự lên đĩa, các ký tự

nay duoc luu tre duo dang ma Ascii

— Điễm đặc biệt là dữ liệu của tập tin được lưu trữ thành các dòng, mỗi dòng được kết thúc bằng ky tu xuông dòng (new line), ký hiệu ^n; ký tự này là sự kết hợp của

2 ky tw CR (Carriage Return - Vé dau dong, ma Ascii la 13) va LF (Line Feed - Xu6ng dong, ma Ascii la 10)

— Mỗi tập tin được kết thúc bởi ký tự EOF (End Of File) có

ma Ascii la 26

—_ Tập tin văn bản chỉ có thể truy xuất theo kiêu tuân tự.

Trang 6

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Khái niệm về các loại tập tin

° Tập tin định kiểu (Typed File)

— La loai tap tin bao gồm nhiều phân tử có cùng kiểu:

char, int, long, cau trúc và được lưu trữ trên đĩa dưới dạng một chuỗi các byte liên tục

° Tập tin không định kiêu (Untyped File)

— Là loại tập tin mà dữ liệu của chúng bao gồm các câu trúc dữ liệu nhưng người dùng không quan tâm đến nội dung hoặc kiêu của nó mà chỉ lưu ÿ đến các yêu tô vật

lý của tập tin như độ lớn và các yêu tố tác động lên tập

tin mà thôi.

Trang 7

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

— Sau khi đọc/ghi xong dữ liệu, con trỏ sẽ chuyên dịch thêm một phân tử vê phía cuối tập tin Sau phần tử dữ liệu cuối cùng của tập tin là dầu kết thúc tập tin EOF (End Of File)

Trang 8

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Khái niệm về các loại tập tin

° Bién tap tin:

— Là một biên thuộc kiểu dữ liệu tập tin dùng để đại diện

cho mét tap tin Dữ liệu chứa trong một tập tin được truy xuất qua các thao tác với thông sô là biễn tập tin đại

diện cho tập tin đó

Trang 9

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Bài 7: Xử lý nhập/xuất dữ liệu

° Khái niệm về các loại tập tin

° Xử lý hệ thông tập tin và thư mục qua các lớp

°_ Xử lý đọc ghi tập tin

Trang 10

TRUONG DAI HOC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Trang 11

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Các lớp hệ thông tap tin

° Bén trong namespace co tên System./O la mot

tap hợp các class được sử dụng đề định vị và thao tác các tập tin, thư mục và thiết bị Cac class hệ thông tập tin được chia thành 2 loại

class: informational va utility

° Hau hét cac class loai informational dan xuat từ

class co’ so FileSystemInfo Cac class nay

trưng tất cả thông tin hệ thống liên quân các đồi

tượng hệ thông tập tin Đó là các class có tên

Filelnfo và Directorylnio

m.a——š——>—Ặ—ïẳằẳẴẶẪẮ—ẶỪẶ—»ỪẶẶẶẶ_—

Trang 12

TRUONG DAI HOC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Các lớp hệ thông tap tin

° Ngoài ra, class Drivelnfo trình bày thiết bị trong hệ

thống tập tin, mặc dù nó vẫn là một class thuộc loại informational, tuy nhiên nó không dẫn xuất từ

FileSysteminfo boi lẽ nó không chia sẻ các kiêu hành vi

chung (ví dụ, bạn có thê xóa các tập tin và thư mục,

nhưng không thê xóa các thiết bị)

° Các class loại utility cung cấp các phương thức static

(hoặc phương thức shared trong Visual Basic) đề thực thi một số hoật động trên các đối tượng hệ thống tập tin như các tập tin, thư mục và hệ thông tập tin đường dẫn

(paths) Cac class loại utility bao gồm các class : File,

Directory, và Path

Trang 13

TRUONG DAI HOC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

FileSystemInfo Class

° FileSystemInfo cung cấp các chức năng cơ bản cho tất

cả các lớp xử lý hệ thông tập tin và thư mục

° Bảng các thuộc tính chính của FileSystemlnfo

Thuộc tính Ý nghĩa

Gán hoặc lấy giá trị các thuộc tính của tập tin hay

Attributes thư mục hiện hành

Gán hoặc lấy giá trị về thời gian tạo lập của tập tin

Creation Time hay thư mục

Exists Kiểm tra tập tin hay thư mục có tôn tại hay không

Extension Lấy thông tin phần mở rộng (kiểu) của tap tin

Trang 14

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Gan hoặc lấy giá trị về thời gian truy cập cuối cùng

LastAccess lime cua tap tin hay thu muc

san Gets or sets the time the file or directory was last LastWriteTime written to

Name Trả về tên của tập tin hay thư mục

FullName Lây đường dẫn đây đủ của tập tin hay thư mục

Trang 15

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Delete Xóa tập tin hay thư mục trong hệ thống tập tỉn

Cập nhật lại dữ liệu trong class với thông tin Refresh mới nhất từ hệ thống tập tin

Trang 16

TRUONG DAI HOC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Trang 17

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Filelnfo Class

° Filelnfo cung cap cac chic nang co’ ban dé truy xuất và

thao tác với một tập tin trong hệ thông tập tin

° Bảng các thuộc tính chính của Filelnfo

Trả về thư mục chứa tập tin hiện hành đang

DirectoryName Wave tên của thư mục chứa tập tin đang truy

IsReadOnly Lay và thiết lập thông tin chỉ đọc cho tập tin

Length Kích thước của tập tin

Trang 18

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Filelnfo Class

° Bang cac phuong thuc chinh cua Filelnfo

Tạo một đối tượng StreamWriter cho phép ghi

thêm văn bản vào trong tập tin

Tạo một đối tượng StreamWriter cho phép ghi

Create Text van ban vao trong tap tin

Trang 19

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

OpenText | Mỏ tập tin và trả về một SfreamEeader cho phép đọc nội

dung bên trong tập tin

OpenWrite | Mỏ tập tin ở chế độ chỉ ghi

Replace Thay thê nội dung của tập tin bằng thông tin trong File/nfo

Trang 20

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

° Sao chép tap tin

FileTnfn ourFile = new FileInfo(@"c:\boot.ini");

ourFile.CopyTo(@"c:\boot.bak");

Trang 21

TRUONG DAI HOC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Trang 22

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

DirectorylInfo Class

° DirectoryInfo cung cap cac chirc nang co ban đề truy

xuât và thao tác với một thư mục trong hệ thông tập tin

° Bảng các thuộc tính chính của Directorylnfo

Thuộc tính Ý nghĩa

Parent Trả về thư mục chứa (thư mục cha) của thư mục

hiện hành đang truy xuât

Root Trả về thư mục gốc trong chuỗi đường dẫn của thư

mục hiện hành

Trang 23

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Trả về một mảng đối tượng kiêu Directorylnfo

GetDirectories gôm các thư mục con trong thư mục hiện

hành

Trả về một mảng đối tượng kiêu Filelnfo gồm

GetfFiles các tập tin trong thư mục hiện hành

Trang 24

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

DirectoryInfo Class

°* Bang các phương thức chính của Directorylnfo

Trả về một mảng đối tượng kiều

GetFileSystemlnfos | FileSystemlnfo gôm các tập tin và thư mục

trong thư mục hiện hành

MoveTo Di chuyên thư mục hiện hành sang vị trí khác

Trang 25

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Trang 26

TRUONG DAI HOC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Trang 27

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Drivelnfo Class

° Directorylnfo cung cap các chức năng cơ bản đề truy

xuất và thao tác với một ô đĩa trong hệ thống tap tin

° Bảng các thuộc tính chính của Drivelnfo

Tên thuộc tính

Tra vé kích thước còn trồng cho phép lưu trữ

AvailableFreeSpace tran 6 dia

, Trả về thông tin dinh dang cua 6 dia (NTFS,

DriveType Trả về kiéu cua 6 dia (6 dia clrng, CDRom )

Trang 28

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Drivelnfo Class

° Bang cac thuoc tinh chinh cua Drivelnfo

Trả về trạng thái của 6 dia (co sẵn sàng cho phép

truy xuât hay không)

Trang 29

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Trả về tất cả các ô đĩa hiện có trên hệ thống

GetDrives (phương thức tính — static)

Trang 30

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Drivelnfo Class

° Bang cac thanh phan cua kiéu liét ké DriveType

CDRom 6 dia quang (CD-ROM, DVD )

Fixed 6 đĩa có định (ỗ đĩa cứng)

Network 6 dia mang

NoRootDirectory | 6 dia khéng co thu muc gốc

Ram 6 dia RAM (duoc tao tip RAM)

Removable 6 dia di déng (USB)

Unknown 6 dia không xác định

Trang 31

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Drivelnfo Class

° Vi du: duyét qua cac 6 dia co trong hé thong

{

Trang 32

TRUONG DAI HOC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Trang 33

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Path Class

° Path cung cap cac chtrc năng cơ bản đề truy xuất và thao

tác với đường dân hệ thông tập tin

° Bảng các phương thức chính của Path

Phương thức Ý nghĩa

Trả về chuỗi đường dẫn đồng thời đôi phần mở

rộng của tập tin trong chuôi đường dân ChangeExtension

Trang 34

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

GetFileNameWithoui | Trả về kiêu của tập tin hiện hành không có

Trang 35

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

GetRandomFileName_ | !T3 về tên tập tin được lây một cách ngấu

nhiên

GetTempFileName Trả vê tên của thư mục tạm (thư mục temp)

ứng với người dùng hiện hành

GetTempPath Trả về đường dân đên thư mục tạm (thư

mục temp)

HasExtension Kiêm tra trong đường dân có phân mở rộng

của tập tin hay không

IsPathRooted Kiem tra đường dân có bát đầu từ thư mục

gôc (tên ô đĩa) hay không

Trang 36

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Console.WriteLine ("Change Path: {0}",

Path.ChangeExtension{ourPath, "bak"));

Trang 37

TRUONG DAI HOC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Trang 38

TRUONG DAI HOC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

FileSystemWatcher Class

° FileSystemWatcher cung cấp các chức năng co ban dé

giám sát các thay đồi trong hệ thống tập tin và thư mục

° Bảng các thuộc tính chính cua FileSystemWatcher

Lây và thiết lập danh sách tập tin sẽ được lọc khi

Filter giám sát Nêu không thiét lap thi sé giam sat tat

ca cac tap tin

IncludeSubdirectories | Cho phép giám sát các thư mục con hay không

Trang 39

dung trong tập tin)

Path Đường dẫn đến thư mục cân giám sát

° Phương thức chính của FileSystemWatcher

WaitForChanged Phương thức đồng bộ trong việc giám sát một

thư mục và trả về câu trúc bao gồm tất cả các thay đổi trên thư mục đó

Trang 40

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Changed ney fa met {ap in nay mot thư mục bị thay đồi

Deleted nay cúc đuờc điểm e hay một thư mục bị xóa trong

Renamed Kay Ma \ap in hay mot thư mục bị đồi tên

Trang 41

TRUONG DAI HOC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

FileSystemWatcher Class

* Vi du 1: giam sat viéc tao va xoa tập tin, thư mục trên

thu muc goc dia C:\

// khai bao phuong thic xt? lý sự kiện

Static void watcher Changed(object sender, fFilesystemEventArgs @€)

{

Console.WriteLine ("Directory changed({O}): {1}”, e.ChangeType, e€@.FullPath);

Static void Main({string[] args)

{

FilesSystemWUatcher watcher = new FileSystemWatcher ()-;

watcher.Path = @"c:\";

##/ chỉ định phương thức xử lý cho sự kiện

watcher.Created += new FileSystemEventHandler (watcher Changed) ; watcher.Deleted += new FilesystemEventHandler (watcher Changed);

// bat dau giam sát

watcher.EnableRaisingEvents = true;

Console.ReadLine[);

Trang 42

TRUONG DAI HOC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

FileSystemWatcher Class

° Vi du 2: giam sat viéc stra doi tén tap tin va thư mục trên

thu muc goc dia C:\

// khai bao phuong thức xử lý sự kiện

Static void watcher Renamed(object sender, FereruerlEveritrlrdgs BỊ

{

Console.WriteLine ("Renamed from {0} to {1}", e.OldadFullPatrh, e.FPullPatrh);

Static void Main({string[] args)

{

FilesSystemUatcher watcher = new FileSystemWatcher ()-;

watcher.Path = @"c:\";

ff chi dinh phwong thitc xt l¥ cho su kién

// bat dau giám sát

watcher.EnableRaisingEvents = true;

Console.ReadLine();

Trang 43

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Bài 7: Xử lý nhập/xuất dữ liệu

° Khái niệm về các loại tập tin

° Xử lý hệ thông tập tin và thư mục qua các lớp

°_ Xử lý đọc ghi tập tin

8tiết

Trang 44

-TRUONG DAI HOC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Xw ly doc ghi tap tin

Trang 45

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TAM TIN HOC

Stream

° Sw dung Stream Ia cach pho bién nhất đề truy xuất dữ

liệu dạng tuân tự hay ngâu nhiên trong NET Framework

° Bang cac thu6c tinh cua Stream:

Thuộc tính Ý nghĩa

Kiểm tra có hỗ đọc dữ liệu theo luông (stream)

CanFead hay không

Ngày đăng: 23/05/2014, 15:58

🧩 Sản phẩm bạn có thể quan tâm

w