Ermitteln von USB-Massenspeichergeräten mit Java

8

Die Geschichte hinter ...

Ich mag TV-Shows, aber ich gehe nur zweimal im Monat nach Hause. Der Rest der Zeit lebe ich in einem Haus ohne Internet (in der Nähe meiner Universität, also free wifi rockt! - wenn es funktioniert -), also brauchte ich ein wenig Software, die meine tragbare Festplatte mit meinen neuen Shows aktualisieren konnte Wenn ich nach Hause gehe, wo der mit den Podcasts synchronisierte Fileserver seine Arbeit erledigt. Ich habe es mit Java gemacht und es funktioniert.

Das Problem

Im Moment habe ich eine .properties Datei, wo ich das gemountete Verzeichnis dieses USB-hd gespeichert habe. Nicht genug. Ich möchte, dass die Software alle USB-Massenspeichergeräte erkennt und den Benutzer auswählen lässt, welcher zum Speichern von Dateien verwendet wird. Wie kann ich das tun?

Details

a) Es muss in Java sein (ich meine, es könnte auch mit dem Ausführen von lokalen Hostbefehlen wie dir oder etwas ähnlichem funktionieren)

b) mein Server ist auf Windows, aber ich bevorzuge es eine Betriebssystem unabhängige Lösung

    
dierre 30.09.2010, 07:56
quelle

3 Antworten

3

Obwohl ich es in Ihrer Frage nicht gesehen habe, nehme ich an, Sie sind sehr vertraut mit der File.listRoots () -Methode, die ein Array von Well, Dateiwurzeln zurückgibt.

Dann könnten Sie einfach über sie hinweg iterieren und versuchen, festzustellen, ob sie Flash-Laufwerke sind. Einige Hacks könnten wie sein:

%Vor%

Das ist alles, was ich anbieten kann. Mit mehr nativen Programmen kann viel mehr getan werden, und dann können sie aus dem Java-Programm aufgerufen werden.

    
Amrinder Arora 30.09.2010, 15:48
quelle
2

Sie können das Projekt javax.usb überprüfen. Derzeit gibt es zwei zertifizierte Implementierungen, für Linux und BSD, und eine Implementierung für Windows (wie es scheint, ist es immer noch nicht vollständig, aber ich zeige an, dass Sie die angeschlossenen USB-Geräte auflisten können.)

Aber ich bin mir nicht sicher, ob die Möglichkeit, nur USB-Laufwerke (stattdessen alle Laufwerke wie in @Amrinder Arora antwort) aufzulisten, einen neuen Bibliothekssatz wert ist und mit einer halbfertigen Implementierung kämpft ...

    
Tomas Narros 01.10.2010 09:16
quelle
1

Ein schöner Weg wurde in nio geschaffen. Sieh dir das an:

%Vor%

Sie erhalten alle Wurzeln als Pfadobjekte;

    
SandeepGodara 28.02.2014 10:41
quelle

Tags und Links