Ich möchte ein einfaches Programm zum Abspielen von Soundclips schreiben. Ich möchte es unter Windows, Linux und MacOSX bereitstellen. Was mich immer noch verwirrt, ist der Speicherort der Konfigurationsdatei und des Ordners mit Soundclips auf verschiedenen Betriebssystemen. Ich bin ein Clojure Noob. Ich bin mir bewusst, dass Common Lisp eine spezielle File-System Portability-Bibliothek namens CL-FAD hat. Wie wird es in Closure gemacht? Wie kann ich tragbares Clojure-Programm mit verschiedenen Konventionen für Dateisystem auf verschiedenen Systemen schreiben?
Sie können clojure.java.io/file
verwenden, um Pfade (weitgehend) plattformneutral zu erstellen, ähnlich wie Sie es mit os.path.join
in Python oder File.join
in Ruby tun würden.
clojure.java.io/file
gibt eine java.io.File
zurück. Wenn Sie zu einem String zurückkehren müssen, können Sie immer .getPath
:
Haben Sie daran gedacht?
Zusätzlich zu clojure.java.io
(und natürlich den Methoden auf java.io.File
), raynes.fs
ist eine beliebte Dateisystembibliothek.
Beachten Sie, dass Windows den Schrägstrich als Pfadtrennzeichen perfekt unterstützt (was sehr gut ist, da Sie nicht ständig Backslashes entfernen müssen).
Das einzige Problem, auf das Sie stoßen werden, ist, dass die "Standard" -Standorte (Home-Ordner usw.) auf Windows- und UNIX-Systemen unterschiedlich sind. Sie müssen diese also von den Systemeigenschaften beziehen (siehe getProperty
-Methode in Ссылка ).