Clojure:
Kiểm tra xem thư mục có tồn tại không
Làm thế nào:
Sử dụng clojure.java.io/file
để tạo một đối tượng File và .exists
để kiểm tra xem nó có tồn tại hay không. Phương thức isDirectory
xác nhận liệu File có phải là một thư mục không.
(require '[clojure.java.io :as io])
(defn directory-exists? [path]
(let [dir (io/file path)]
(and (.exists dir) (.isDirectory dir))))
;; Ví dụ sử dụng:
(directory-exists? "/path/to/directory") ;=> true hoặc false
Kết quả Mẫu:
true ; nếu thư mục tồn tại
false ; nếu thư mục không tồn tại
Khám phá sâu hơn
Trong lịch sử, một quy trình tương tự được sử dụng trong Java; vì Clojure chạy trên JVM, nó tận dụng các thư viện Java cho các hoạt động hệ thống tệp. Các phương án thay thế trong Clojure có thể bao gồm việc sử dụng các chức năng hoặc thư viện Java khác như nio.file.Files
. Phía sau, việc kiểm tra tồn tại của một thư mục có thể tiêu tốn nhiều IO và có thể hoạt động khác nhau giữa các hệ điều hành và quyền hệ thống tệp, đó là lý do tại sao việc đảm bảo sự tồn tại của nó trước khi thực hiện thêm các thao tác là rất quan trọng.
Xem thêm
- Tài liệu Clojure về I/O: https://clojure.github.io/clojure/clojure.java.io-api.html
- Lớp File của Java: https://docs.oracle.com/javase/8/docs/api/java/io/File.html
- Lớp Files NIO của Java: https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html