2
A
回答
3
這是沒有必要使用Java庫,您可以用Clojure推出完整的FTP實現,但會像重新發明輪子,而不是一個可行的事情。你可以做的可能是寫在Java庫一個功能更強大的包裝,然後使用該包裝在您的Clojure代碼,使一切都顯得無縫that't有多少現有的Java庫是Clojure中被使用。
1
https://github.com/miner/clj-ftp是在Apache的共享網絡的包裝。
1
您可以通過調用一些方便的功能或打開客戶端,並用它調用多個命令使用https://github.com/miner/clj-ftp。
完整的API在GitHub上的https://github.com/miner/clj-ftp/blob/master/src/miner/ftp.clj記錄。
project.clj
(defproject my-sweet-project "0.5.0"
:dependencies [[com.velisco/clj-ftp "0.3.0"]
; Other deps
]
; ...
)
的內容調用一個FTP命令
這將打開每個命令新的FTP連接,所以應該只用於調用單個命令。查看完整的API以獲取這些便利功能的完整列表。
(ns my-sweet-name.space
(:require [miner.ftp :as ftp]))
(defn list-files-from-ftp-server []
"Here we list contents of a directory with a convenience function"
(let [ftp-url "ftp://username:[email protected]:port/path/to/stuff"]
(ftp/list-files ftp-url)))
調用多個命令與相同的連接
這將打開FTP連接並調用與它的命令的任意量。這應該在應該調用多個命令時使用。 FTP連接將自動關閉。再次檢查完整的API以獲取完整的函數列表。
(ns my-sweet-name.space
(:require [miner.ftp :as ftp]))
(defn list-and-download-files []
"Here we list and download contents of a directory"
(let [ftp-url "ftp://username:[email protected]:port/path/to/stuff"]
(ftp/with-ftp [ftp-client ftp-url]
; client-file-names is used to list contents of the ftp-url
; client-get is used to download a file
(doseq [file-name (ftp/client-file-names ftp-client)]
(let [local-file-name (str "/download-path/" file-name)]
(ftp/client-get ftp-client file-name local-file-name))))))
相關問題
- 1. 在Clojure中使用clj-ftp重新使用ftp連接
- 2. 使用Clojure
- 3. 使用的Clojure
- 4. 使用FTP
- 5. 使用PHP FTP
- 6. FTP使用filezilla
- 7. Clojure中使用SUBSEQ
- 8. 畫線使用Clojure
- 9. 關於使用Clojure
- 10. JDBC使用Clojure的
- 11. 使用slimv與clojure
- 12. linux ftp mget使用ftp MULTI-FETCHING or cURL
- 13. 如何在FTP中使用SVN和FTP?
- 14. 使用RecursiveDirectoryIterator類FTP
- 15. FTP得到使用
- 16. Clickonce僅使用ftp
- 17. 的ftp使用python
- 18. FTP類未使用
- 19. 在FTP上使用SCRFTPRequest進行FTP FTP上傳
- 20. 在Clojure中使用Java庫
- 21. 不能使用clojure/math.numeric-tower
- 22. 在Clojure中使用WSDL
- 23. Clojure:阻止使用原子?
- 24. 在Clojure中使用PGobject
- 25. Clojure中使用MySQL和Java
- 26. 如何使用Clojure的PersistentQueue?
- 27. Clojure - 使用過濾器
- 28. clojure,使用函數列表
- 29. 解析.mxl使用Clojure
- 30. 使用Clojure/ClojureScript交叉庫