How diwakar157/file-organizer works
Smart File Organizer is a Swing desktop app for selecting a folder, reviewing file categories, organizing files into category subfolders, and detecting duplicates. The main workflow runs from the UI through the organizer service, which scans files, applies XML-configured extension mappings, and moves files; duplicate detection is a separate service operation. Utilities support file operations and logging. The service, parser, and UI relationships are supported by excerpts or the README; unsampled details are not expanded.
Main entry points: FileOrganizerService.java Organizer service · XMLParser.java XML parser · LoggerUtil.java Logger utility · MainUI.java Organizer UI
Components 10
Desktop app
- Application entry
Java1/SmartFileOrganizer/src/main/java/com/smartfileorganizer/Main.java - Organizer UI
Java1/SmartFileOrganizer/src/main/java/com/smartfileorganizer/ui/MainUI.java
Organization
- Organizer service
Java1/SmartFileOrganizer/src/main/java/com/smartfileorganizer/service/FileOrganizerService.java - File category
Java1/SmartFileOrganizer/src/main/java/com/smartfileorganizer/model/FileCategory.java
Configuration and utilities
- XML parser
Java1/SmartFileOrganizer/src/main/java/com/smartfileorganizer/util/XMLParser.java - File type config
Java1/SmartFileOrganizer/src/main/resources/filetypes.xml - File utilities
Java1/SmartFileOrganizer/src/main/java/com/smartfileorganizer/util/FileUtils.java - Logger utility
Java1/SmartFileOrganizer/src/main/java/com/smartfileorganizer/util/LoggerUtil.java
Other components
- User
- Selected directory
Connections 13
- User → Organizer UI: selects folder
README.md - Application entry → Organizer UI: launches
Java1/SmartFileOrganizer/src/main/java/com/smartfileorganizer/Main.java - Application entry → Logger utility: gets logger
Java1/SmartFileOrganizer/src/main/java/com/smartfileorganizer/Main.java - Organizer UI → Organizer service: organizes or detects
Java1/SmartFileOrganizer/src/main/java/com/smartfileorganizer/ui/MainUI.java - Organizer service → Selected directory: scans and moves
Java1/SmartFileOrganizer/src/main/java/com/smartfileorganizer/service/FileOrganizerService.java - Organizer service → XML parser: loads mappings
Java1/SmartFileOrganizer/src/main/java/com/smartfileorganizer/service/FileOrganizerService.java - XML parser → File type config: reads
Java1/SmartFileOrganizer/src/main/java/com/smartfileorganizer/util/XMLParser.java - XML parser → File category: creates categories
Java1/SmartFileOrganizer/src/main/java/com/smartfileorganizer/util/XMLParser.java - Organizer service → File category: uses categories
Java1/SmartFileOrganizer/src/main/java/com/smartfileorganizer/service/FileOrganizerService.java - Organizer service → File utilities: uses file operations
Java1/SmartFileOrganizer/src/main/java/com/smartfileorganizer/service/FileOrganizerService.java - Organizer service → Logger utility: gets logger
Java1/SmartFileOrganizer/src/main/java/com/smartfileorganizer/service/FileOrganizerService.java - XML parser → Logger utility: gets logger
Java1/SmartFileOrganizer/src/main/java/com/smartfileorganizer/util/XMLParser.java - File utilities → Logger utility: gets logger
Java1/SmartFileOrganizer/src/main/java/com/smartfileorganizer/util/FileUtils.java