Apache Commons IO - Tổng quan
Thư viện Apache Commons IO cung cấp các lớp tiện ích khác nhau cho các hoạt động phổ biến đối với File IO bao gồm nhiều trường hợp sử dụng. Nó giúp tránh viết mã soạn sẵn.
Thư viện Apache Commons IO cung cấp các lớp cho các danh mục sau:
Các lớp tiện ích
Các lớp này dưới org.apache.commons.iogói, cung cấp so sánh tệp và chuỗi. Sau đây là một số ví dụ.
IOUtils- Cung cấp các phương thức tiện ích để đọc, ghi và sao chép tệp. Các phương pháp này hoạt động với InputStream, OutputStream, Reader và Writer.
FilenameUtils- Cung cấp phương thức làm việc với tên tệp mà không cần sử dụng Đối tượng tệp. Nó hoạt động trên các hệ điều hành khác nhau theo cách tương tự.
FileUtils - Cung cấp các phương thức để thao tác với tệp như di chuyển, mở, kiểm tra sự tồn tại, đọc tệp, v.v. Các phương thức này sử dụng Đối tượng tệp.
IOCase - Cung cấp phương thức để thao tác và so sánh chuỗi.
FileSystemUtils - Cung cấp phương pháp lấy dung lượng trống trên ổ đĩa.
LineIterator - Cung cấp một cách linh hoạt để làm việc với tệp dựa trên dòng.
Lọc các lớp
Lọc các lớp nằm trong gói org.apache.commons.io.filefilter, cung cấp các phương pháp lọc tệp dựa trên tiêu chí logic thay vì so sánh tẻ nhạt dựa trên chuỗi. Sau đây là một số ví dụ.
NameFileFilter - Lọc tên tệp cho một tên.
WildcardFileFilter - Lọc các tập tin bằng cách sử dụng các ký tự đại diện được cung cấp.
SuffixFileFilter- Lọc các tập tin dựa trên hậu tố. Điều này được sử dụng để truy xuất tất cả các tệp của một loại cụ thể.
PrefixFileFilter - Lọc các tập tin dựa trên tiền tố.
OrFileFilter- Cung cấp logic HOẶC có điều kiện trên một danh sách các bộ lọc tệp. Trả về true, nếu bất kỳ bộ lọc nào trong danh sách trả về true. Nếu không, nó trả về false.
AndFileFilter- Cung cấp điều kiện và logic trên một danh sách các bộ lọc tệp. Trả về false nếu bất kỳ bộ lọc nào trong danh sách trả về false. Nếu không, nó trả về true.
Các lớp giám sát tệp
Các lớp giám sát tệp nằm dưới org.apache.commons.io.monitorgói, cung cấp quyền kiểm soát để theo dõi các thay đổi trong một tệp hoặc thư mục cụ thể và cho phép thực hiện hành động tương ứng với các thay đổi. Sau đây là một số ví dụ.
FileEntry- Cung cấp trạng thái của một tệp hoặc thư mục. Thuộc tính tệp tại một thời điểm.
FileAlterationObserver - Đại diện cho trạng thái của các tệp bên dưới thư mục gốc, kiểm tra hệ thống tệp và thông báo cho người nghe về các sự kiện tạo, thay đổi hoặc xóa.
FileAlterationMonitor - Đại diện cho một luồng sinh ra một luồng giám sát kích hoạt bất kỳ Máy chủ FileAlterationObserver đã đăng ký nào tại một khoảng thời gian xác định.
Các lớp so sánh
Các lớp theo dõi tệp dưới org.apache.commons.io.comparator gói cho phép so sánh và sắp xếp các tập tin và thư mục một cách dễ dàng.
NameFileComparator - So sánh tên của hai tệp.
SizeFileComparator - So sánh kích thước của hai tệp.
LastModifiedFileComparator - So sánh ngày sửa đổi cuối cùng của hai tệp.
Phát trực tiếp các lớp học
Có nhiều triển khai của InputStream trong gói org.apache.commons.io.input và của OutputStream trong gói org.apache.commons.io.output, để thực hiện các tác vụ hữu ích trên luồng. Sau đây là một số ví dụ.
NullOutputStream - Hấp thụ tất cả dữ liệu được gửi với bất kỳ lỗi nào.
TeeOutputStream - Gửi đầu ra đến hai luồng.
ByteArrayOutputStream - Phiên bản nhanh hơn của lớp JDK.
CountingOutputStream - Đếm số byte được truyền qua luồng.
ProxyOutputStream - Thay đổi các cuộc gọi đến luồng proxy.
LockableFileWriter - Một FileWriter để tạo các tệp khóa và cho phép xử lý khóa tệp luồng chéo đơn giản.