• Home »
  • Csharp »
  • Truy xuất thông tin thư mục với lớp DirectoryInfo sử dụng C#

Truy xuất thông tin thư mục với lớp DirectoryInfo sử dụng C#


       Bài viết này sẽ hướng dẫn các bạn Truy xuất thông tin thư mục với lớp DirectoryInfo sử dụng ngôn ngữ lập trình C#. Để sử dụng lớp DirectoryInfo trong các chương trình C# của mình, bạn phải khai báo sử dụng nó với using System.IO;

Bài viết này sẽ hướng dẫn các bạn Truy xuất thông tin thư mục với lớp DirectoryInfo sử dụng ngôn ngữ lập trình C#. Để sử dụng lớp DirectoryInfo trong các chương trình C# của mình, bạn phải khai báo sử dụng nó với using System.IO;

       Lớp DirectoryInfo (public sealed class DirectoryInfo : System.IO.FileSystemInfo) : Là lớp cho phép tạo các thể hiện (không có từ khóa bổ trợ static), không cho phép lớp khác kế thừa (được định nghĩa với từ khóa sealed), cung cấp các phương thức dùng để liệt kê, tạo và di chuyển các thư mục, thư mục con trong nó. Lớp này kế thừa từ lớp FileSystemInfo theo cú pháp (Object :  MarshalByRefObject : FileSystemInfo : DirectoryInfo).

        Khi cung cấp cho người sử dụng lớp DirectoryInfo, Microsoft đã định nghĩa lớp này có thể tạo thể hiện của nó bằng hàm khởi tạo (constructor) một tham số duy nhất với cú pháp public DirectoryInfo (string path). Trong đó, tham số path của hàm khởi tạo chính là đường dẫn của thư mục đó trong hệ điều hành của bạn.

       Ngoài các thuộc tính được kế thừa từ lớp cha FileSystemInfo, Lớp DirectoryInfo cung cấp sẵn rất nhiều các thuộc tính (Property) để giúp bạn lấy được các thông tin thư mục theo đường dẫn bạn đã chọn. Dưới đây là danh sách các thuộc tính của lớp DirectoryInfo

STT Thuộc tính lớp DirectoryInfo Mô Tả
1 Exists Dùng để xác định thư mục mà bạn đã xác định theo đường dẫn có tồn tại hay không
2 FullName Lấy đường dẫn đầy đủ của thư mục
3 Name Lấy tên của thư mục
4 Parent Lấy tên thư mục cha của thư mục
5 Root Lấy thư mục gốc của thư mục hiện tại và trả về thể hiện thư mục DirectoryInfo

 


       Dưới đây giả sử bạn có một thư mục như sau với đường dẫn “E:\hoctoantap.com\LearnDirectory” trong ổ cứng máy tính của bạn như trong hình:

DirectoryInfo Class

       Lúc đó để lấy  ra các thông tin của thư mục này bằng ngôn ngữ lập trình C#, các bạn làm như sau :

Code

Note:

+ Chúng ta để ý rằng ở comment  “1. Đường dẫn tới thư mục” : Đây chính là đường dẫn dùng để xác định địa chỉ thư mục trong hệ điều hành của bạn. Cũng giống như là số nhà của bạn, địa chỉ thư mục này là duy nhất trong phạm vi chiếc máy tính của các bạn.

Khi làm việc với đường dẫn file hoặc thư mục trong C# ví dụ : string directoryPath = “E:\hoctoantap.com\LearnDirectory”; bạn sẽ gặp lỗi vì ký tự “\” là ký tự đặc biệt trong ngôn ngữ C#.

Có 2 cách để bạn khai báo đường dẫn trong ngôn ngữ lập trình C#:  sử dụng ký tự @ ở đầu như đoạn code ví dụ ở phía trên string directoryPath = @”E:\hoctoantap.com\LearnDirectory”; hoặc sử dụng 2 ký tự liền nhau : string directoryPath = “E:\\hoctoantap.com\\LearnDirectory”;

+ Ở comment “3.” : Chúng ta sử dụng thuộc tính Exists của lớp DirectoryInfo để kiểm tra xem thư mục có đường dẫn “E:\hoctoantap.com\LearnDirectory” có tồn tại hay không. Ở ví dụ này tất là thư mục sẽ tồn tại trên máy của tôi và nó đi vào nhánh “4.” và ở máy của các bạn khi trong ổ E của các bạn nếu chưa tồn tại thư mục có đường dẫn “E:\hoctoantap.com\LearnDirectory” trên máy của các bạn sẽ vào nhánh “5.”.  Trong các bài toán thực tế bạn nên sử dụng thuộc tính Exists để tránh Exception khi bạn thao tác với các thư mục không tồn tại.  Kể cả khi bạn bắt Exception bằng sử dụng câu lệnh try catch, cũng không nên vì ở trường hợp này dùng Exists kiểm tra là tốt nhất.

Output :

DirectoryInfo Class result

       Ngoài các thuộc tính,  lớp DirectoryInfo còn cung cấp các phương thức giúp chúng ta có thể thực hiện các công việc sau:

+ Liệt kê các thư mục sử dụng các phương thức EnumerateDirectories,GetDirectories  của lớp DirectoryInfo

+ Liệt kê các file trong thư mục sử dụng phương thức EnumerateFiles, GetFiles của DirectoryInfo

+ Tạo thư mục với phương thức Create của lớp DirectoryInfo

+ Tạo thư mục con với phương thức CreateSubdirectory của lớp DirectoryInfo

+ Di chuyển thư mục với phương thức MoveTo của lớp DirectoryInfo.

+ Xóa thư mục với phương thức Delete của lớp DirectoryInfo.

Download Source

      Bài viết được hình thành mong muốn trao đổi và chia sẻ kiến thức về ngôn ngữ lập trình C#. Trong quá trình đăng, bài viết sẽ không thể tránh được những thông tin sai sót hoặc các bạn có thông tin cần trao đổi, chia sẻ các thông tin vui lòng comment bên dưới hoặc gửi vào email  [email protected] Xin chân thành cảm ơn.


Related Post

Phản hồi

Phản hồi