11
votes

Ouvrir un fichier dans le clojure?

Quelle serait la meilleure méthode pour queue un fichier de clojure? Je n'ai pas rencontré d'utilitaires qui aideraient à le faire, mais des idées sur la façon de construire une appréciation!

merci.


0 commentaires

3 Réponses :


3
votes

quelque chose comme: xxx


0 commentaires

4
votes

Vous pouvez utiliser aléatoireAccessfile pour rechercher directement à la fin du fichier et rechercher des chevreaks à partir de là. Pas aussi élégant et court que l'approche Dernier , mais pas non plus O (n) qui pourrait compter pour les grandes tailles de fichiers.

Aucune solution pour queue -f , cependant. Une certaine inspiration pourrait être trouvée dans jlogTailer .


0 commentaires

15
votes

AS Kotarak EM> indiqué, vous pouvez utiliser RandomAccessFile strong> pour chercher à la fin du fichier. Malheureusement, vous devez vous occuper / dormir pour des changements.

Utilisation d'une séquence paresseuse Vous pouvez traiter les lignes "à la volée" ": p> xxx pré>

mise à jour: p>

quelque chose comme queue -f /var/log/mail.log -n 0 em>, en utilisant doseq em>, les modifications sont effectivement consommées. P>

(doseq [line (tail-seq "/var/log/mail.log")] (println line))


3 commentaires

Merci pour le pointeur! Pour une raison quelconque, cela ne semble pas agir comme prévu - les changements de fichiers semblent ne pas être détectés!


(Le programme arrête après un premier changement de fichier)


VEUILLEZ VÉRIFIER MON MISE À JOUR: [interprétation] Aussi peut-être écrire dans le fichier n'est pas "tamponné de ligne"?