2012-04-02 4 views
1

Für meine Anwendung muss ich alle Dateien, die mit dem Betriebssystem (Windows oder Mac) berührt werden, verfolgen. Durch Berühren spreche ich über das Öffnen von Dateien oder das Speichern von Dateien. Ist das überhaupt möglich? Und wenn ja, welche Suchbegriffe sollte ich googlen?Java: Verfolgen von Dateien, die im Betriebssystem berührt werden

+0

Welche Schlüsselwörter haben Sie versucht? Welche Forschung hast du gemacht? – Gray

Antwort

2

Apache commons io Bibliothek, wenn Sie mit Java 6. *

mehr erstreckt verwenden möchten: On ein zweiter Blick hier ist Frage in SO {Is there a sophisticated file system monitor for Java which is freeware or open source?} Es mag der eine Roflcoptr interessiert sein. Es spricht über http://jnotify.sourceforge.net/. Ich habe das aber nicht benutzt, um Informationen zum Lesen zu bekommen.

+0

Vielen Dank, das ist wirklich cool, aber es scheint nicht nur Lesezugriff zu verfolgen. – RoflcoptrException

+0

@Roflcoptr: reiner Lesezugriff ist wahrscheinlich aus reinem Java-Code überhaupt nicht nachvollziehbar. Dies ist * möglich, wenn Code niedrigerer Stufe geschrieben wird (zumindest unter Windows). Warum brauchst du das? –

+0

Das wäre auch für mich möglich. Am Ende brauche ich eine Java-Anwendung, die ein Protokoll aller geöffneten Dateien auflistet. Es wäre für mich kein Problem, Code niedrigerer Ebene zu schreiben, um direkt auf Windows zuzugreifen und dann eine Schnittstelle zu meiner Java-App bereitzustellen. – RoflcoptrException

4

Java 7 hat einige Features für das - Watching a directory for changes - API

Hier ist ein Blog über die gleiche Watching a directory for changes

+2

+1, aber bitte geben Sie mehr Details als nur einen Link. Sie sollten Ihre Antwort bearbeiten und einen Auszug der io-Benachrichtigung bereitstellen. Vielleicht ein Beispielcode. – Gray

+1

Soweit ich weiß, helfen Benachrichtigungen nur beim Schreibzugriff. Ich bezweifle, dass Sie über reinen Lesezugriff informiert werden können. –

Verwandte Themen