Zaawansowana obsługa plików w java

0

Witam. Na razie dopiero zacząłem przygodę z javą (proste programiki). Ale za nim wejdę w to dalej chciałem się dowiedzieć czy da się w ogóle coś takiego zrobić, aby w javie (w windowsie i linuxie ) wykrywał np. podpięcie pendrive lub karty pamięci? Przeszukiwał zawartość pod kątem rozszerzeń plików np. mp3 jpg a później kopiowanie do innego folderu? Zainteresowałem się javą bo działa w rożnych środowiskach i to było by dla mnie ogromnym plusem :)

Na razie nie chodzi mi o to jak, tylko czy da się to zrobić w miare prosto.

0

Pendrive/karta pamięci: W oficjalnej implementacji tego na razie nie ma, musisz szukać jakiś API.

Przeszukiwał zawartość... czego? Jeśli pedrive'a, to masz odpowiedź wyżej. Jeśli zaś chodzi ci o dowolny folder na komputerze, to da się to zrobić. Kopiowanie z jednego pliku na drugi nie jest problemem, trochę więcej (ale też nie za dużo) zajmie ci wybór pod kątem rozszerzeń. Jeśli w planach masz programowanie okienek, to masz wbudowany file chooser (użytkownik sam wybiera plik lub grupę plików).

0

Jeśli chodzi o kopiowanie plików z określonymi rozszerzeniami to jest to proste. Wystarczy do metody list w klasie file przekazać FileFilter.
Jeśli chodzi o wykrycie zdarzenia montowania dysku to jest to do obsłużenia za pomocą API poszczególnych systemów operacyjnych. Można to też zaimplementować w czystej javie, choć wymaga to trochę pracy związanej m.n. z obsługą współbieżności.

0

Podobne pytania padło na stackoverflow: http://stackoverflow.com/questions/2980509/enumerate-external-drives
File.listRoots() pobierasz liste wszystkich dostępnych urządzeń dalej masz tam przykład.

0

@niezdecydowany, lista listą, ale chodzi o wykrycie podpięcia. Można co prawda napuścić na to wątek by ten sprawdzał czy nic się nie zmieniło, ale to jest proteza.

0

Witam. Dziękuje za odpowiedzi, trochę się zniechęciłem do javy w tym momencie bo kod korzystający z api nie będzie przenośny. Wiec równie dobrze mogę to napisać w c++ (który znam)

0

Czemu? Natywnie wystarczy napisać obsługę zdarzenia delegującą całą resztę do javy. Względnie jak wspomniałem napisać narzędzie śledzące takie zdarzenia bezpośrednio w javie (w oparciu o wątek).

1 użytkowników online, w tym zalogowanych: 0, gości: 1