Lấy thư mục hiện tại trong C#

Lay Thu Muc Hien Tai Trong C



Vì các thư mục cung cấp cách tiếp cận có hệ thống và có tổ chức để xử lý tài nguyên và tài liệu bên trong ứng dụng nên chúng đóng một vai trò quan trọng trong quá trình phát triển C#. Thư mục hỗ trợ việc tổ chức hợp lý các tập tin và tài nguyên. Bạn có thể nhanh chóng tìm và quản lý các tập tin bằng cách đặt chúng vào một thư mục có các mục tương tự khác. Trong C#, thư mục làm việc hiện tại của ứng dụng có thể được truy xuất bằng hàm GetCurrentDirectory().

Thư mục làm việc đề cập đến vị trí trong hệ thống tệp nơi ứng dụng hiện đang chạy. Vì nó đóng vai trò là điểm khởi đầu cho tất cả các hoạt động liên quan đến tệp và thư mục nên cần phải hiểu rõ thư mục này. Chúng ta sẽ tìm hiểu về các mẫu mã khác nhau để nói về điều này trong hướng dẫn này.

Ví dụ 1:

Hãy chuyển sang ví dụ đầu tiên của hướng dẫn này để minh họa cách sử dụng hàm GetCurrentDirectory() trong C#. Lệnh “using” cho phép chương trình truy cập vào các lớp và phương thức từ không gian tên “System” và “System.IO”. Không gian tên “System” cung cấp các loại cơ bản và chức năng hệ thống cơ bản, trong khi “System.IO” cung cấp các lớp để sử dụng với tài liệu và thư mục.







Dòng tiếp theo định nghĩa một lớp mới có tên là “Dummy” thông qua từ khóa “class”. Tên 'Dummy' là tùy ý và có thể được thay đổi thành bất kỳ mã định danh hợp lệ nào. Hàm main() bắt đầu bằng từ khóa static cho biết rằng đó là một phương thức cấp lớp và không cần thiết phải gọi một thể hiện của lớp để nó hoạt động.



Cuộc gọi chức năng thư mục sắp diễn ra. Phương thức GetCurrentDirectory() có thể được sử dụng để lấy thư mục làm việc hiện tại của ứng dụng. Hàm GetCurrentDirectory() là một hàm tĩnh từ lớp “Directory”, một phần của không gian tên “System.IO”. Nó trả về một chuỗi đại diện cho thư mục hiện tại và gán nó cho biến “cd”.



Phương thức Console.WriteLine() được sử dụng để hiển thị một dòng văn bản ở đầu ra tiêu chuẩn (bảng điều khiển). Trong trường hợp này, nó in thông báo “Thư mục hiện tại của tôi:” được nối với giá trị của biến “cd” chứa đường dẫn thư mục hiện tại.





sử dụng hệ thống ;

sử dụng Hệ thống. IO ;

lớp giả {

tĩnh trống rỗng Chủ yếu ( ) {

chuỗi cd = Danh mục. Nhận thư mục hiện tại ( ) ;

Bảng điều khiển. Viết dòng ( 'Thư mục hiện tại của tôi:' + đĩa CD ) ;

}

}

Khi bạn chạy chương trình C# này, phương thức “Main” sẽ được thực thi và thư mục hiện tại được hiển thị trên bảng điều khiển. Trong trường hợp bạn đang sử dụng bất kỳ trình biên dịch C# trực tuyến nào, nó sẽ hiển thị đường dẫn trình biên dịch, tức là /home/compiler.



Nó có thể khác nhau tùy thuộc vào cách bạn thực thi ứng dụng (ví dụ: từ Visual Studio, dấu nhắc lệnh hoặc một IDE khác).

Ví dụ 2:

Ngoài lớp “Directory”, môi trường của C# cũng có thể được sử dụng để lấy thư mục làm việc hiện tại. Hãy giải thích từng bước mã ví dụ C# đã cho. Mã bắt đầu bằng “using System;” câu lệnh bao gồm không gian tên “Hệ thống” trong chương trình. Mã này định nghĩa một lớp mới có tên là “Test”.

Một biến kiểu chuỗi có tên “dir” được khai báo và nhận một giá trị bên trong hàm “Main”. Để có được thư mục hoạt động hiện tại của ứng dụng, hãy sử dụng thuộc tính Environment. CurrentDirectory. Lớp “Môi trường” cung cấp thông tin về môi trường mà ứng dụng đang chạy bao gồm thông tin về hệ thống tệp và các biến môi trường hệ thống.

Phương thức “Console.WriteLine” được sử dụng để hiển thị thư mục hiện tại trên bảng điều khiển của IDE mà bạn đang sử dụng. Toán tử “+” được sử dụng để nối chuỗi “Thư mục hiện tại:” với giá trị được lưu trong biến “dir”.

sử dụng hệ thống ;

kiểm tra lớp {

tĩnh trống rỗng Chủ yếu ( ) {

chuỗi thư mục = Môi trường. Thư mục hiện tại ;

Bảng điều khiển. Viết dòng ( 'Thư mục hiện tại:' + Bạn ) ;

}

}

Phương thức “Main” được gọi theo mặc định khi ứng dụng được chạy. Nó bắt đầu bằng cách truy xuất thư mục hiện tại bằng Environment.CurrentDirectory. Sau đó, nó hiển thị thư mục hiện tại bằng cách in thông báo “Thư mục hiện tại:”, theo sau là đường dẫn thư mục đến bảng điều khiển bằng thuộc tính Environment.CurrentDirectory.

Ví dụ 3:

Việc lấy thư mục hiện tại của ứng dụng thật đơn giản với thuộc tính AppDomain.CurrentDomain.BaseDirectory. Chúng tôi thêm một ví dụ mã C# khác để minh hoạ cách sử dụng AppDomain.CurrentDomain.BaseDirectory.

Sau khi thêm không gian tên “Hệ thống”, mã sẽ xác định một lớp có tên là “Thử nghiệm”. Phương thức “Main” bắt đầu thực thi bằng cách thêm một dòng để truy xuất thư mục làm việc hiện tại của ứng dụng. Lớp “AppDomain” đại diện cho một miền ứng dụng và “CurrentDomain” là một thuộc tính tĩnh trả về miền ứng dụng hiện tại.

Ngược lại, thuộc tính “BaseDirectory” cung cấp thư mục cơ sở (còn được gọi là thư mục gốc của ứng dụng) của miền ứng dụng hiện tại. Dòng tiếp theo khai báo một biến có tên là “dir” thuộc loại chuỗi để lưu trữ thư mục hiện tại. Dòng liên tiếp tiếp theo xuất thư mục hiện tại ra bàn điều khiển bằng phương thức Console.WriteLine. Toán tử “+” được sử dụng để nối chuỗi “Thư mục hiện tại:” với giá trị của biến “dir”.

sử dụng hệ thống ;

kiểm tra lớp {

tĩnh trống rỗng Chủ yếu ( ) {

chuỗi thư mục = Tên miền ứng dụng. Tên miền hiện tại . Thư mục cơ sở ;

Bảng điều khiển. Viết dòng ( 'Thư mục hiện tại:' + Bạn ) ;

}

}

Khi bạn chạy chương trình C# này, nó sẽ hiển thị thư mục hiện tại của ứng dụng trên bảng điều khiển.

Ví dụ 4:

Đã đến lúc minh họa cuối cùng của chúng tôi từ hướng dẫn này. Mã C# được cung cấp là một ứng dụng bảng điều khiển đơn giản minh họa cách lấy thư mục hiện tại bằng cách sử dụng các phương thức “Path.GetDirectoryName()” và “Assembly.GetExecutingAssembly().Location”.

Trong mã này, ba không gian tên được nhập: “System”, “System.IO” và “System.Reflection”. Các không gian tên này chứa các lớp và phương thức cần thiết cho các hoạt động khác nhau trong mã. Phương thức “Main” và một lớp có tên “Test” được định nghĩa trong mã. Để có được thư mục làm việc hiện tại, phương thức “Assembly.GetExecutingAssembly()” trả về một đối tượng “Assembly” đại diện cho tập hợp hiện đang thực thi (tức là tập tin thực thi đang chạy).

Thuộc tính “Location” của đối tượng “Assembly” cung cấp đường dẫn đầy đủ đến vị trí của tệp thực thi đang chạy (bao gồm cả tên tệp). Bây giờ, thuộc tính “Vị trí” có thể chứa đường dẫn đầy đủ đến tệp thực thi bao gồm cả tên tệp. Để chỉ trích xuất phần thư mục, “Path.GetDirectoryName()” được sử dụng. Đường dẫn thư mục chứa tệp được hàm này trả về sau khi chấp nhận địa chỉ tệp làm đầu vào.

Cuối cùng, mã in thư mục hiện tại thu được vào bảng điều khiển bằng cách sử dụng “Console.WriteLine()”. Toán tử “+” được sử dụng để nối chuỗi “Thư mục hiện tại:” với giá trị của biến “cd” (chứa đường dẫn thư mục hiện tại).

sử dụng hệ thống ;

sử dụng Hệ thống. IO ;

sử dụng Hệ thống. Sự phản xạ ;

kiểm tra lớp {

tĩnh trống rỗng Chủ yếu ( ) {

chuỗi cd = Con đường. Lấy tên thư mục ( Cuộc họp. GetExecutingAssembly ( ) . Vị trí ) ;

Bảng điều khiển. Viết dòng ( 'Thư mục hiện tại:' + đĩa CD ) ;

}

}

Khi bạn chạy chương trình C# này, nó sẽ hiển thị thư mục hiện tại của tệp thực thi đang chạy trên bảng điều khiển theo kết quả đầu ra được hiển thị trong hình ảnh:

Phần kết luận

Các phiên bản nói trên lấy hệ thống tệp hiện tại của ứng dụng bằng nhiều phương thức và thuộc tính C# khác nhau. Hãy nhớ rằng đường dẫn hiện tại có thể thay đổi tùy thuộc vào môi trường đang chạy và cách khởi chạy chương trình.