[Java] : Lyssna på en removable device NÄR den blir ansluten?

Permalänk
Medlem

[Java] : Lyssna på en removable device NÄR den blir ansluten?

Letar efter tips hur man skulle kunna lyssna på när t.ex. ett minneskort blir insatt i en minneskortläsare i java..
Det jag har problem med är att inga befintliga lösningar verkar stödja att börja lyssna på en enhet utan filsystem..
Det är inga som helst problem att snappa upp event att filer skapas / deleteas / ändras så länge mappen man lyssnar
på finns och är skapad.
Jag vill dock enbart lyssna på NÄR något (i detta fall ett minneskort) sätts in i minneskortläsaren..

Idag har jag en WatchService i mitt program som lyssnar på en specifik mapp efter ändringar i mappen, inget konstigt.
Det är dock väldigt svårt att lyckas lyssna på t.ex. F:\ (som finns, dock inget monterat) utan ett monterat filsystem i form
av ett minneskort..

Ett alternativ är ju att programmet ligger och pollar enheten efter ändringar, men vill helst undvika det då det känns
som en ganska dålig lösning. Vill hellre att programmet lyckas snappa upp något event att nu har det faktiskt monterats
nåt t.ex.

Alla förslag tas tacksamt emot!

Visa signatur

WS: Mac Studio M1 Max | 32 GB | 1TB | Mac OS
WS: Intel i5 12600K | 64 GB DDR4 @3600 Mhz | 2x1TB nvme 2x1TB SSD SATA | Windows 11 & Manjaro Linux
Bärbar: Macbook Pro 14" | M1 Pro | 16GB RAM | 512GB SSD | Mac OS
Servrar: Intel i7 10700K | 64 GB DDR4 @3600Mhz | 3 TB SSD + 22TB HDD | Unraid |
4x Raspberry pi 4b 8Gb | Dietpi |

Permalänk
Medlem

Tja nu kan jag inte precis svara för Java skull men i Windows överlag för att göra sådant här vill du använda dig av WMI.

I C# gör man så här http://msdn.microsoft.com/en-us/library/system.management.man...

Med hjälp av detta man man ställa typ databas liknande frågor mot Windows, mot samma server eller andra.

Om detta går att göra i Java har jag inte en blekaste aning men en C# implementation finns här http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/t...

Men jag skulle nästan garatera dig att det finns något WMI bibliotek i Java, koden åvan kan du nog använda dig av för se hur du Querar just för USB devicar, går att hämta otroligt mycket information under WMI http://msdn.microsoft.com/en-us/library/windows/desktop/aa394...

Visa signatur

Speldator: i7-8700k, 32GB DDR4, RTX2080
Server 1: SB 2500k, MZI -P67GD55, 32GB DDR3, Corsair MX 240GB SSD
Surface Pro 2017, Konsoler: Typ alla, Oculus Rift

Permalänk
Medlem
Skrivet av MugiMugi:

Tja nu kan jag inte precis svara för Java skull men i Windows överlag för att göra sådant här vill du använda dig av WMI.

I C# gör man så här http://msdn.microsoft.com/en-us/library/system.management.man...

Med hjälp av detta man man ställa typ databas liknande frågor mot Windows, mot samma server eller andra.

Om detta går att göra i Java har jag inte en blekaste aning men en C# implementation finns här http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/t...

Men jag skulle nästan garatera dig att det finns något WMI bibliotek i Java, koden åvan kan du nog använda dig av för se hur du Querar just för USB devicar, går att hämta otroligt mycket information under WMI http://msdn.microsoft.com/en-us/library/windows/desktop/aa394...

Kanon, tack!
Hittade jinterop och lite andra bibliotek som verkar göra sitt jobb vad gäller wmi-anrop

Visa signatur

WS: Mac Studio M1 Max | 32 GB | 1TB | Mac OS
WS: Intel i5 12600K | 64 GB DDR4 @3600 Mhz | 2x1TB nvme 2x1TB SSD SATA | Windows 11 & Manjaro Linux
Bärbar: Macbook Pro 14" | M1 Pro | 16GB RAM | 512GB SSD | Mac OS
Servrar: Intel i7 10700K | 64 GB DDR4 @3600Mhz | 3 TB SSD + 22TB HDD | Unraid |
4x Raspberry pi 4b 8Gb | Dietpi |