Any system that's been running for a while starts to suffer from hard drive clutter. This is especially true, for example, with large music and photo collections. Except for the most fastidious files getting copied and moved, we end up with a copy here and a copy there. The question is, though, which of these are duplicates and which are not? In this chapter, we'll build a file-walking utility that will scan a set of directories looking for duplicate files. We'll be able to specify whether the duplicates should be deleted, quarantined, or simply reported.
In this chapter, we will cover the following topics:
- The Java Platform Module System
- The Java NIO (New I/O) File APIs
- File hashing
- Java Persistence API (JPA)
- The new Java Date/Time API
- Writing command-line utilities
- More JavaFX