Apache Commons IO - przegląd
Biblioteka Apache Commons IO zapewnia różne klasy narzędziowe dla typowych operacji dla File IO, obejmujące szeroki zakres przypadków użycia. Pomaga to uniknąć pisania kodu standardowego.
Biblioteka Apache Commons IO zapewnia klasy dla następujących kategorii -
Klasy użytkowe
Te klasy, które są w ramach org.apache.commons.iopakiet, zapewnia porównanie plików i ciągów. Oto kilka przykładów.
IOUtils- Zapewnia narzędzia do czytania, pisania i kopiowania plików. Metody działają z InputStream, OutputStream, Reader i Writer.
FilenameUtils- Zapewnia metodę pracy z nazwami plików bez korzystania z obiektu pliku. Działa na różnych systemach operacyjnych w podobny sposób.
FileUtils - Zapewnia metody manipulowania plikami, takie jak przenoszenie, otwieranie, sprawdzanie istnienia, odczytywanie pliku itp. Te metody używają obiektu pliku.
IOCase - Zapewnia metodę manipulowania ciągiem i porównywania.
FileSystemUtils - Zapewnia metodę uzyskania wolnego miejsca na dysku.
LineIterator - Zapewnia elastyczny sposób pracy z plikiem opartym na wierszach.
Klasy filtrów
Filtruj klasy, które znajdują się w pakiecie org.apache.commons.io.filefilter, zapewnia metody filtrowania plików na podstawie kryteriów logicznych zamiast żmudnych porównań opartych na ciągach znaków. Oto kilka przykładów.
NameFileFilter - Filtruje nazwy plików dla nazwy.
WildcardFileFilter - Filtruje pliki przy użyciu dostarczonych symboli wieloznacznych.
SuffixFileFilter- Filtruje pliki na podstawie przyrostka. Służy do pobierania wszystkich plików określonego typu.
PrefixFileFilter - Filtruje pliki na podstawie prefiksu.
OrFileFilter- Zapewnia warunkową logikę OR na liście filtrów plików. Zwraca wartość „prawda”, jeśli którykolwiek z filtrów na liście zwraca wartość „prawda”. W przeciwnym razie zwraca fałsz.
AndFileFilter- Zapewnia warunkowanie i logikę na liście filtrów plików. Zwraca fałsz, jeśli którykolwiek z filtrów na liście zwraca fałsz. W przeciwnym razie zwraca true.
Klasy monitora plików
Klasy monitora plików, które są poniżej org.apache.commons.io.monitorpakiet, zapewnia kontrolę nad śledzeniem zmian w określonym pliku lub folderze i pozwala na odpowiednie działanie na zmianach. Oto kilka przykładów.
FileEntry- Zawiera stan pliku lub katalogu. Atrybuty pliku w określonym momencie.
FileAlterationObserver - Reprezentuje stan plików poniżej katalogu głównego, sprawdza system plików i powiadamia słuchaczy o zdarzeniach tworzenia, zmiany lub usuwania.
FileAlterationMonitor - Reprezentuje wątek, który tworzy wątek monitorowania wyzwalający każdy zarejestrowany FileAlterationObserver w określonym interwale.
Klasy porównawcze
Klasy monitora plików w ramach org.apache.commons.io.comparator pakiet pozwala na łatwe porównywanie i sortowanie plików i katalogów.
NameFileComparator - Porównaj nazwy dwóch plików.
SizeFileComparator - Porównaj rozmiar dwóch plików.
LastModifiedFileComparator - Porównaj daty ostatniej modyfikacji dwóch plików.
Zajęcia strumieniowe
Istnieje wiele implementacji InputStream w pakiecie org.apache.commons.io.input i OutputStream w pakiecie org.apache.commons.io.output, aby wykonywać użyteczne zadania na strumieniach. Oto kilka przykładów.
NullOutputStream - Pochłania wszystkie dane wysłane z jakimkolwiek błędem.
TeeOutputStream - Wysyła dane wyjściowe do dwóch strumieni.
ByteArrayOutputStream - Szybsza wersja klasy JDK.
CountingOutputStream - Zlicza liczbę bajtów przepuszczonych przez strumień.
ProxyOutputStream - Zmienia wywołania na strumień proxy.
LockableFileWriter - FileWriter do tworzenia plików blokujących i pozwalający na prostą obsługę blokad plików między wątkami.