Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 15 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
15
Dung lượng
217,67 KB
Nội dung
FileandRegistryFileandRegistry - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 1 1 C# and .NET Framework C# and .NET Framework B B à à i 8: i 8:FileandRegistryFileandRegistry Đo Đo à à n Quang Minh n Quang Minh minhdqtt@gmail.com minhdqtt@gmail.com http http ://www.VTPortal.net ://www.VTPortal.net Last update: Last update: 30. December 2006 30. December 2006 FileandRegistryFileandRegistry - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 2 2 M M ụ ụ c l c l ụ ụ c c Managing the File System Managing the File System Moving, Copying, and Deleting Files Moving, Copying, and Deleting Files Reading and Writing to Files Reading and Writing to Files The Registry The Registry Ứ Ứ ng ng d d ụ ụ ng ng FileandRegistryFileandRegistry - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 3 3 Managing the File System Managing the File System .NET h .NET h ỗ ỗ tr tr ợ ợ c c á á c thao t c thao t á á c l c l à à m vi m vi ệ ệ c v c v ớ ớ i file i file – – C C á á c t c t á á c v c v ụ ụ thông thư thông thư ờ ờ ng như li ng như li ệ ệ t kê file, sao ch t kê file, sao ch é é p, di chuy p, di chuy ể ể n, n, xo xo á á . . – – C C á á c l c l ớ ớ p thao t p thao t á á c v c v ớ ớ i file n i file n ằ ằ m trong namespace System.IO m trong namespace System.IO – – C C á á c l c l ớ ớ p quan tr p quan tr ọ ọ ng: File, FileInfo, Directory, Path, . ng: File, FileInfo, Directory, Path, . L L à à m vi m vi ệ ệ c v c v ớ ớ i file v i file v à à folder folder – – C C ó ó 2 2 lo lo ạ ạ i i đ đ ố ố i i tư tư ợ ợ ng ng l l à à m m vi vi ệ ệ c c v v ớ ớ i i filefile v v à à folder folder Directory Directory v v à à File: File: ch ch ỉ ỉ ch ch ứ ứ a a c c á á c c phương phương th th ứ ứ c c t t ĩ ĩ nh nh , , không không th th ể ể kh kh ở ở i i t t ạ ạ o o . . Thư Thư ờ ờ ng ng d d ù ù ng ng khi khi ch ch ỉ ỉ th th ự ự c c hi hi ệ ệ n n 1 1 thao thao t t á á c c v v ớ ớ i i 1 file 1 file ho ho ặ ặ c c folder. folder. Khi Khi thao thao t t á á c c , , ch ch ỉ ỉ c c ầ ầ n n cung cung c c ấ ấ p p đư đư ờ ờ ng ng d d ẫ ẫ n n đ đ ế ế n n file hay folder file hay folder c c ầ ầ n n l l à à m m vi vi ệ ệ c c DirectoryInfo DirectoryInfo v v à à FileInfo FileInfo : : cung cung c c ấ ấ p p c c á á c c phương phương th th ứ ứ c c như như 2 2 đ đ ố ố i i tư tư ợ ợ ng ng trên trên , , nhưng nhưng yêu yêu c c ầ ầ u u ph ph ả ả i i t t ạ ạ o o instance. instance. Thư Thư ờ ờ ng ng d d ù ù ng ng khi khi th th ự ự c c hi hi ệ ệ n n nhi nhi ề ề u u thao thao t t á á c c v v ớ ớ i i 1 file 1 file ho ho ặ ặ c c folder. folder. FileandRegistryFileandRegistry - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 4 4 Managing the File System Managing the File System Tên Ý Ý ngh ngh ĩ ĩ a a CreationTime Thờigiantạo file hoặc folder DirectoryName (FileInfo), Parent (DirectoryInfo) Đường dẫn đầy đủ củafolder chứa file hoặc folder hiệnthời Exists File hay folder có tồntại hay không? Extension Phầnmở rộng FullName Tên đầy đủ, cảđường dẫn LastAccessTime Thờigianlầntruycậpcuối LastWriteTime Thờigianlầnsửa đổicuối Name Tên file hay folder Root Folder gốc(chỉ với DirectoryInfo) Length Dung lượng (bytes), chỉ với FileInfo FileandRegistryFileandRegistry - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 5 5 Managing the File System Managing the File System // // kh kh ở ở i i t t ạ ạ o o bi bi ế ế n n myFile myFile tr tr ỏ ỏ đ đ ế ế n n m m ộ ộ t t t t ậ ậ p p tin tin FileInfo FileInfo myFile myFile = new = new FileInfo(@"C FileInfo(@"C : : \ \ How to C How to C Sharp.txt Sharp.txt "); "); // // sao sao ch ch é é p p sang sang ổ ổ đ đ ĩ ĩ a a D D myFile.CopyTo(@"D myFile.CopyTo(@"D : : \ \ "); "); // // ki ki ể ể m m tra tra s s ự ự t t ồ ồ n n t t ạ ạ i i Console.WriteLine(myFile.Exists.ToString Console.WriteLine(myFile.Exists.ToString ()); ()); // // ghi ghi thông thông tin tin th th ờ ờ i i đi đi ể ể m m t t ạ ạ o o filefile Console.WriteLine(myFile.CreationTime.ToString Console.WriteLine(myFile.CreationTime.ToString ()); ()); // // c c ậ ậ p p nh nh ậ ậ t t th th ờ ờ i i đi đi ể ể m m t t ạ ạ o o filefile myFile.CreationTime myFile.CreationTime = new DateTime(2001, 1, 1, 7, 30, 0); = new DateTime(2001, 1, 1, 7, 30, 0); FileandRegistryFileandRegistry - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 6 6 Managing the File System Managing the File System DirectoryInfo DirectoryInfo theFolder theFolder = new = new DirectoryInfo(folderFullName DirectoryInfo(folderFullName ); ); if (! if (! theFolder.Exists theFolder.Exists ) ) throw new throw new DirectoryNotFoundException("Folder DirectoryNotFoundException("Folder not found: " + not found: " + folderFullName folderFullName ); ); string string currentPath currentPath = = theFolder.FullName theFolder.FullName ; ; // // L L ấ ấ y y tên tên c c á á c c thư thư m m ụ ụ c c con con c c ủ ủ a a thư thư m m ụ ụ c c hi hi ệ ệ n n th th ờ ờ i i ArrayList ArrayList folders = new folders = new ArrayList ArrayList (); (); foreach(DirectoryInfo foreach(DirectoryInfo folder in folder in theFolder.GetDirectories theFolder.GetDirectories ()) ()) folders.Add(folder.Name folders.Add(folder.Name ); ); // // L L ấ ấ y y tên tên c c á á c c filefile trong trong thư thư m m ụ ụ c c hi hi ệ ệ n n th th ờ ờ i i ArrayList ArrayList files = new files = new ArrayList ArrayList (); (); foreach(FileInfo foreach(FileInfo file in file in theFolder.GetFiles theFolder.GetFiles ()) ()) files.Add(file.Name files.Add(file.Name ); ); FileandRegistryFileandRegistry - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 7 7 Moving, Copying, and Deleting Files Moving, Copying, and Deleting Files C C ó ó th th ể ể sao sao ch ch é é p p , , di di chuy chuy ể ể n n ho ho ặ ặ c c xo xo á á t t ậ ậ p p tin. tin. – – Phương Phương th th ứ ứ c c Path.Combine(string Path.Combine(string , string): , string): tr tr ả ả v v ề ề tên tên đ đ ầ ầ y y đ đ ủ ủ c c ủ ủ a a filefile t t ạ ạ o o t t ừ ừ đư đư ờ ờ ng ng d d ẫ ẫ n n v v à à tên tên file. file. – – Phương Phương th th ứ ứ c c File.Delete(string File.Delete(string ): ): xo xo á á t t ậ ậ p p tin. tin. – – Phương Phương th th ứ ứ c c File.Move(string File.Move(string , string): , string): di di chuy chuy ể ể n n filefile t t ừ ừ v v ị ị tr tr í í c c ũ ũ đ đ ế ế n n v v ị ị tr tr í í m m ớ ớ i i . . – – Phương Phương th th ứ ứ c c File.Copy(string File.Copy(string , string): , string): sao sao ch ch é é p p file sang file sang m m ộ ộ t t thư thư m m ụ ụ c c m m ớ ớ i i . . FileandRegistryFileandRegistry - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 8 8 Reading and Writing to Files Reading and Writing to Files Đ Đ ọ ọ c c v v à à ghi ghi filefile d d ự ự a a trên trên kh kh á á i i ni ni ệ ệ m m stream ( stream ( lu lu ồ ồ ng ng d d ữ ữ li li ệ ệ u u ) ) – – stream stream l l à à đ đ ố ố i i tư tư ợ ợ ng ng d d ù ù ng ng đ đ ể ể chuy chuy ể ể n n d d ữ ữ li li ệ ệ u u . Do . Do đ đ ó ó stream stream c c ó ó th th ể ể l l à à lu lu ồ ồ ng ng d d ự ự a a trên trên b b ộ ộ nh nh ớ ớ , , trên trên t t ậ ậ p p tin, tin, trên trên m m ạ ạ ng ng , , … … – – FileStream FileStream : : đ đ ố ố i i tư tư ợ ợ ng ng d d ù ù ng ng đ đ ể ể đ đ ọ ọ c c ghi ghi filefile nh nh ị ị phân phân . . – – StreamReader StreamReader v v à à StreamWriter StreamWriter : : đ đ ố ố i i tư tư ợ ợ ng ng d d ù ù ng ng đ đ ể ể đ đ ọ ọ c c ghi ghi file text. file text. – – Ch Ch ú ú ý: ý: c c á á c c t t á á c c v v ụ ụ đ đ ọ ọ c c ghi ghi h h ầ ầ u u h h ế ế t t đ đ ề ề u u s s ử ử d d ụ ụ ng ng buffer. buffer. Do Do đ đ ó ó , , v v ớ ớ i i t t á á c c v v ụ ụ ghi ghi , , ph ph ả ả i i đ đ ẩ ẩ y y d d ữ ữ li li ệ ệ u u t t ừ ừ buffer buffer lên lên đ đ ĩ ĩ a a trư trư ớ ớ c c khi khi đ đ ó ó ng ng file. file. FileandRegistryFileandRegistry - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 9 9 Reading and Writing to Files Reading and Writing to Files Đ Đ ọ ọ c c ghi ghi filefile nh nh ị ị phân phân : : d d ù ù ng ng FileStream FileStream . . – – H H à à m m t t ạ ạ o o : : c c ầ ầ n n ch ch ỉ ỉ ra ra filename, filename, FileMode FileMode , , FileAccess FileAccess , , FileShare FileShare . . FileMode FileMode : : ki ki ể ể u u m m ở ở file, file, c c ó ó th th ể ể l l à à Append, Create, Append, Create, CreateNew CreateNew , , Open, Open, OpenOrCreate OpenOrCreate , , ho ho ặ ặ c c Truncate. Truncate. FileAccess FileAccess : : ki ki ể ể u u truy truy c c ậ ậ p p , , c c ó ó th th ể ể l l à à Read, Read, ReadWrite ReadWrite , , ho ho ặ ặ c c Write. Write. FileShare FileShare : : ki ki ể ể u u chia chia s s ẻ ẻ gi gi ữ ữ a a c c á á c c thread, thread, c c ó ó th th ể ể l l à à Inheritable, None, Inheritable, None, Read, Read, ReadWrite ReadWrite , or Write , or Write – – Đ Đ ể ể đ đ ọ ọ c c v v à à ghi ghi byte, byte, d d ù ù ng ng c c á á c c h h à à m m : : ReadByte ReadByte (): (): đ đ ọ ọ c c m m ộ ộ t t byte byte t t ừ ừ stream stream WriteByte(byte WriteByte(byte ): ): ghi ghi m m ộ ộ t t byte byte v v à à o o stream stream Read/ Read/ Write(byte Write(byte [], [], int int off, off, int int count): count): đ đ ọ ọ c/ghi c/ghi m m ộ ộ t t m m ả ả ng ng byte byte b b ắ ắ t t đ đ ầ ầ u u t t ừ ừ off, off, đ đ ộ ộ d d à à i i count count – – Sau Sau khi khi đ đ ọ ọ c/ghi c/ghi , , d d ù ù ng ng Close() Close() đ đ ể ể đ đ ó ó ng ng filefileFileandRegistryFileandRegistry - - Editor Editor : : Đo Đo à à n Quang n Quang Minh Minh 10 10 Reading and Writing to Files Reading and Writing to Files Đ Đ ọ ọ c c v v à à ghi ghi file text: file text: d d ù ù ng ng StreamReader StreamReader v v à à StreamWriter StreamWriter – – C C ó ó th th ể ể kh kh ở ở i i t t ạ ạ o o StreamReader StreamReader d d ự ự a a trên trên Tên Tên filefile c c ầ ầ n n đ đ ọ ọ c c M M ộ ộ t t FileStream FileStream kh kh á á c c Ho Ho ặ ặ c c m m ộ ộ t t FileInfo FileInfo v v ớ ớ i i phương phương th th ứ ứ c c OpenText OpenText () () – – C C ó ó th th ể ể kh kh ở ở i i t t ạ ạ o o StreamWriter StreamWriter d d ự ự a a trên trên Tên Tên filefile c c ầ ầ n n đ đ ọ ọ c c , , mã mã encode encode M M ộ ộ t t FileStream FileStream kh kh á á c c Ho Ho ặ ặ c c m m ộ ộ t t FileInfo FileInfo v v ớ ớ i i phương phương th th ứ ứ c c CreatText CreatText () () – – Đ Đ ể ể đ đ ọ ọ c c v v à à ghi ghi , , d d ù ù ng ng c c á á c c h h à à m m Read()/Write(): Read()/Write(): đ đ ọ ọ c c v v à à ghi ghi m m ộ ộ t t ký ký t t ự ự ReadLine()/WriteLine ReadLine()/WriteLine (): (): đ đ ọ ọ c c v v à à ghi ghi m m ộ ộ t t dòng dòng ReadToEnd ReadToEnd (): (): đ đ ọ ọ c c đ đ ế ế n n h h ế ế t t filefile [...]...Reading and Writing to Files void WriteToTextFile(string FileName, string strMessage) { FileStream myFileStream = new FileStream(FileName, FileMode.Append, FileAccess.Write, System.IO.FileShare.None); System.IO.StreamWriter myWriter = new StreamWriter(myFileStream); myWriter.WriteLine(System.DateTime.Now.ToString() + " - " + strMessage); myWriter.Close(); myFileStream.Close(); } string ReadFileTextContent(string... trị của key FileandRegistry - Editor: Đoàn Quang Editor: Đoà Minh 13 Ứng dụng Ứng dụng các lớp thao tác với tập tin và registry – Tạo trình soạn thảo văn bản – Đọc và ghi cấu hình trong registryFile truy cập lần cuối Các thiết lập như màu chữ, màu nền, font mặc định Các thông tin lưu vết như các xâu tìm kiếm và thay thế… FileandRegistry - Editor: Đoàn Quang Editor: Đoà Minh 14 Tài liệu tham khảo... software HKEY_USERS (HKUSR): chứa thông tin về các user – Để đọc và ghi registry, phải có quyền admin (mặc định) FileandRegistry - Editor: Đoàn Quang Editor: Đoà Minh 12 The Registry Truy cập registry – namespace: Microsoft.Win32 Registry: chứa các mô tả về key trong registry RegistryKey: cho phép thao tác với các key – Các phương thức của RegistryKey OpenSubKey(): mở key con (tiếp tục đi xuống) CreateSubKey()/DeleteSubKey():... ReadFileTextContent(string Filename) { StreamReader myStreamReader = null; string FilePath = System.Web.HttpContext.Current.Server.MapPath(Filename); string result = string.Empty; try { myStreamReader = File. OpenText(FilePath); result = myStreamReader.ReadToEnd(); } catch(Exception exc) { throw; } finally { if (myStreamReader != null) myStreamReader.Close(); } return result; } FileandRegistry - Editor: Đoàn... Second Edition http://www.asp.net http://www.microsoft.com/net/default.mspx http://www.codeproject.com Địa chỉ download tài liệu http://www.thanglong.edu.vn/giang-day/tab.aspx Diễn đàn C# & NET http://www.thanglong.edu.vn/forum/cmd/0/categ ory/hoc-tap-nghien-cuu/dot-net/tab.aspx FileandRegistry - Editor: Đoàn Quang Editor: Đoà Minh 15 ... if (myStreamReader != null) myStreamReader.Close(); } return result; } FileandRegistry - Editor: Đoàn Quang Editor: Đoà Minh 11 The RegistryRegistry – Là một cấu trúc dạng cây cho phép các trinh ứng dụng có thể lưu thông tin Được quản lý bởi Windows – Để soạn thảo registry, dùng trình regedit – Các thành phần quan trọng: HKEY_CLASSES_ROOT (HKCR): chứa các mô tả của các thành phần COM trong Windows . foreach(FileInfo file in file in theFolder.GetFiles theFolder.GetFiles ()) ()) files.Add (file. Name files.Add (file. Name ); ); File and Registry File and Registry. ra ra filename, filename, FileMode FileMode , , FileAccess FileAccess , , FileShare FileShare . . FileMode FileMode : : ki ki ể ể u u m m ở ở file, file,