A Java console application that allows users to create, view, search, and delete notes that are persisted to a local file. This project was built to strengthen core Java skills, particularly file I/O, collections, and menu-driven application design.
This app simulates real-world application behavior by:
- Persisting user data after the program exits
- Validating user input at every step
- Structuring logic into clear, reusable methods
It demonstrates how Java can be used to build practical, stateful applications, even in a console environment.
- Create Notes — Save notes permanently to
notes.txt - View Notes — Display all saved notes in a numbered list
- Search Notes — Case-insensitive keyword search
- Delete Notes (With Confirmation) — Safely remove notes and update storage
- Input Validation — Handles invalid menu choices and user input gracefully
- Java
- File I/O (
FileWriter,Files.readAllLines,Files.write) - Collections (
List<String>) switch-based menu navigation- Exception handling
- Clean, modular program structure
- Notes are stored line-by-line in
notes.txt - Each menu action is handled by a dedicated method
- Deleting a note rewrites the file with updated data
- Clone the repository
- Open in IntelliJ IDEA
- Run
Main.java - Use the menu to manage notes
- Add timestamps to notes
- Edit existing notes
- Add categories or tags
- Export notes to CSV or JSON
Ambrogio Bailey