Библиотека Apache Commons IO предоставляет различные служебные классы для общих операций для File IO, охватывающие широкий спектр вариантов использования. Это помогает избежать написания стандартного кода. Библиотека Apache Commons IO предоставляет классы для следующих категорий:
Служебные классы — эти классы в пакете org.apache.commons.io обеспечивают сравнение файлов и строк. Ниже приведены некоторые примеры.
IOUtils — предоставляет служебные методы для чтения, записи и копирования файлов. Метод работает с InputStream, OutputStream, Reader и Writer.
FilenameUtils — Предоставляет метод для работы с именами файлов без использования File Object. Он работает на разных операционных системах одинаково.
FileUtils — предоставляет метод для манипулирования файлами, например, перемещения, открытия, проверки существования, чтения файла и т. Д. В этих методах используется объект File.
IOCase — Предоставляет метод для работы со строками и сравнения.
FileSystemUtils — Предоставляет метод для получения свободного места на диске.
LineIterator — предоставляет гибкий способ работы с линейным файлом.
Классы фильтрации. Классы фильтрации в пакете org.apache.commons.io.filefilter предоставляют методы для фильтрации файлов на основе логических критериев вместо утомительных сравнений на основе строк. Ниже приведены некоторые примеры.
NameFileFilter — Фильтрует имена файлов для имени.
WildcardFileFilter — Фильтрует файлы, используя предоставленные шаблоны.
SuffixFileFilter — Фильтрует файлы на основе суффикса. Это используется при получении всех файлов определенного типа.
PrefixFileFilter — Фильтрует файлы по префиксу.
OrFileFilter — Предоставляет условную логику ИЛИ в списке файловых фильтров. Возвращает true, если какие-либо фильтры в списке возвращают true. В противном случае возвращается false.
AndFileFilter — обеспечивает условную и логику в списке файловых фильтров. Возвращает false, если какие-либо фильтры в списке возвращают false. В противном случае он возвращает истину.
Классы File Monitor — классы File Monitor в пакете org.apache.commons.io.monitor обеспечивают контроль для отслеживания изменений в конкретном файле или папке и позволяют соответствующим образом выполнять действия над изменениями. Ниже приведены некоторые примеры.
FileEntry — Предоставляет состояние файла или каталога, атрибуты файла в определенный момент времени.
FileAlterationObserver — представляет состояние файлов в корневом каталоге, проверяет файловую систему и уведомляет слушателей о событиях создания, изменения или удаления.
FileAlterationMonitor — представляет поток, который порождает поток мониторинга, запускающий любой зарегистрированный FileAlterationObserver через указанный интервал.
Классы компаратора — классы файлового монитора в пакете org.apache.commons.io.comparator позволяют легко сравнивать и сортировать файлы и каталоги.
NameFileComparator — Сравните имена двух файлов.
SizeFileComparator — Сравните размер двух файлов.
LastModifiedFileComparator — Сравните даты последнего изменения двух файлов.
Потоковые классы. Существует несколько реализаций InputStream в пакете org.apache.commons.io.input и OutputStream в пакете org.apache.commons.io.output для выполнения полезных задач в потоках. Ниже приведены некоторые примеры.
NullOutputStream — поглощает все данные, отправленные с любой ошибкой.
TeeOutputStream — отправляет вывод в два потока.
ByteArrayOutputStream — более быстрая версия класса JDK.
CountingOutputStream — подсчитывает количество байтов, прошедших через поток.
CountingOutputStream — подсчитывает количество байтов, прошедших через поток.
ProxyOutputStream — изменяет вызовы для проксируемого потока.
LockableFileWriter — FileWriter для создания файлов блокировки и обеспечения простой обработки блокировки файлов между потоками.