Kotlin:
Kiểm tra xem thư mục có tồn tại không
Làm thế nào:
Trong Kotlin, bạn thường sử dụng java.io.File
(từ thư viện chuẩn của Java) để kiểm tra thư mục. Dưới đây là một ví dụ nhanh:
import java.io.File
fun main() {
val directoryPath = "path/to/directory"
val directory = File(directoryPath)
if (directory.exists() && directory.isDirectory) {
println("Thư mục tồn tại!")
} else {
println("Thư mục không tồn tại.")
}
}
Kết quả mẫu khi thư mục tồn tại:
Thư mục tồn tại!
Và khi nó không tồn tại:
Thư mục không tồn tại.
Đi sâu vào vấn đề
Phương thức exists()
trong Java đã tồn tại từ những ngày đầu của Java. Khi Kotlin xuất hiện, nó giữ vững khả năng tương tác mạnh mẽ với Java, cho phép chúng ta sử dụng trực tiếp thư viện Java. exists()
trả về true
nếu một tệp hoặc thư mục tồn tại, nhưng để chắc chắn rằng đó là một thư mục, không phải là tệp, chúng ta cũng kiểm tra isDirectory
.
Bây giờ, các lựa chọn khác:
Gói
java.nio.file
của Kotlin: Nó cung cấpFiles.exists(path)
vàFiles.isDirectory(path)
. Những phương thức này hoạt động tương tự nhưng cung cấp nhiều điều khiển hơn đối với thuộc tính tệp.Thư viện cụ thể của Kotlin: Một số thư viện do cộng đồng điều hành mở rộng khả năng xử lý tệp của Kotlin. Chúng cung cấp các giải pháp Kotlin mang tính cách ngữ học hơn, nhưng phần lớn bên dưới, chúng thường chỉ là bọc quanh các lớp I/O của Java.
Làm việc với thư mục là sự kết hợp của việc kiểm tra sự hiện diện (nó có tồn tại không?) và loại (nó là tệp hay thư mục?). Cả hai kiểm tra đều là chìa khóa để ngăn chương trình của bạn gặp phải tình trạng hệ thống tệp không mong đợi.
Xem thêm
- Tài liệu API
File
- Tìm hiểu về những gì bạn có thể làm vớiFile
. - Tài liệu API
Files
trong gói java.nio.file - Đối với các thao tác tệp nâng cao. - Tài liệu chính thức của Kotlin - Tìm hiểu thêm về khả năng của Kotlin.
- Stack Overflow - Tìm vấn đề và giải pháp do cộng đồng cung cấp.