-
-
Notifications
You must be signed in to change notification settings - Fork 1
File Comparison Documentation
Comparing files is essential when validating changes, detecting duplicates, or ensuring data integrity. The file-worker library provides utilities to compare files based on various attributes such as name, extension, size, last modified date, absolute path, and content.
Imagine you are building a version control system where you need to determine if two files are identical or detect minor differences. This library helps you accomplish this efficiently.
- Compare files by attributes like size, extension, and modification date.
- Perform byte-by-byte and line-by-line content comparison.
- Detect duplicate files within a directory.
- Validate file equality based on custom criteria.
For installation and dependencies, refer to the Getting Started guide.
The CompareFileExtensions class provides methods for detailed file comparison.
File file1 = new File("document1.txt");
File file2 = new File("document2.txt");
IFileCompareResultBean result = CompareFileExtensions.compareFiles(file1, file2);
if (result.getNameEquality()) {
System.out.println("Files have the same name.");
}
if (result.getContentEquality()) {
System.out.println("Files are identical in content.");
}boolean isEqual = CompareFileExtensions.compareFileContentByBytes(file1, file2).getContentEquality();
System.out.println("Are the files identical? " + isEqual);The CompareFileExtensionsTest class verifies these functionalities:
@Test
public void testCompareFiles() throws IOException {
File file1 = new File("test1.txt");
File file2 = new File("test2.txt");
StoreFileExtensions.toFile(file1, "Hello World");
StoreFileExtensions.toFile(file2, "Hello World");
IFileCompareResultBean result = CompareFileExtensions.compareFiles(file1, file2);
assertTrue(result.getContentEquality());
}The SimpleCompareFileExtensions class provides straightforward comparison methods.
boolean isEqual = SimpleCompareFileExtensions.compareFilesByChecksum(file1, file2, MdAlgorithm.MD5);
System.out.println("Are the files identical based on checksum? " + isEqual);boolean sameExtension = SimpleCompareFileExtensions.compareFilesByExtension(file1, file2);
System.out.println("Do the files have the same extension? " + sameExtension);The SimpleCompareFileExtensionsTest class ensures correctness:
@Test
public void testCompareFilesByExtension() throws IOException {
File file1 = new File("test.txt");
File file2 = new File("test.doc");
boolean result = SimpleCompareFileExtensions.compareFilesByExtension(file1, file2);
assertFalse(result);
}The library includes result beans to store file comparison outcomes.
Stores results of file attribute comparison.
FileCompareResultBean result = new FileCompareResultBean(file1, file2);
System.out.println("Name equality: " + result.getNameEquality());Extends FileCompareResultBean to include content comparison.
FileContentResultBean result = new FileContentResultBean(file1, file2);
System.out.println("Content equality: " + result.getContentEquality());The FileCompareResultBeanTest ensures correct behavior:
@Test
public void testEqualsHashcodeAndToString() {
FileCompareResultBean result1 = new FileCompareResultBean(file1, file2);
FileCompareResultBean result2 = new FileCompareResultBean(file1, file2);
assertEquals(result1, result2);
}Similarly, FileContentResultBeanTest verifies content comparisons.
The library helps find duplicate files within a directory.
List<IFileCompareResultBean> duplicates = CompareFileExtensions.findEqualFiles(new File("documents"));
for (IFileCompareResultBean duplicate : duplicates) {
System.out.println("Duplicate found: " + duplicate.getSourceFile().getName());
}List<IFileContentResultBean> identicalFiles = CompareFileExtensions.findEqualFilesWithSameContent(new File("data"));
for (IFileContentResultBean file : identicalFiles) {
System.out.println("Identical file found: " + file.getSourceFile().getName());
}The CompareFileExtensionsTest ensures duplicate detection works:
@Test
public void testFindEqualFiles() throws IOException {
File dir = new File("testDir");
StoreFileExtensions.toFile(new File(dir, "file1.txt"), "Same content");
StoreFileExtensions.toFile(new File(dir, "file2.txt"), "Same content");
List<IFileCompareResultBean> results = CompareFileExtensions.findEqualFiles(dir);
assertEquals(1, results.size());
}The file-worker library provides an extensive toolkit for file comparison. Whether you need simple filename comparisons or deep content analysis, these utilities offer a robust and efficient solution.
Start using it today to improve your file management and validation workflows!
- Create New Files And Directories
- Delete Files Or Directories
- File Comparison Documentation
- File Modification And Merging
- File Reading Documentation
- File Renaming Documentation
- File Search Documentation
- File Sorting Documentation
- File Writing Documentation
- Java File Copy Utilities
- System Utilities Documentation