A simple Bank Management System built using Core Java. This project simulates basic banking operations like account creation, transactions, and transaction history using file handling.
- 🆕 Create Bank Account
- 🔐 Secure Login (Password Protected)
- 💰 Deposit Money
- 💸 Withdraw Money
- 🔁 Transfer Money between accounts
- 📄 View Account Details
- 📊 Check Balance
- 🔑 Change Password
- 🧾 Transaction History (Saved in file)
- Java (Core Java)
- OOP Concepts
- File Handling (BufferedReader / BufferedWriter)
- Exception Handling
- ArrayList (Collection Framework)
BankAccount.java // Account logic & operations
Main.java // User interface & flow
InsufficientBalanceException.java // Custom exception
accounts.txt // Stores account data
transactions.txt // Stores transaction history
- All accounts are stored in a file (
accounts.txt) - On program start → data loads into memory (ArrayList)
- On every operation → file gets updated
- Transaction history is maintained separately
- Clone the repository:
git clone https://github.com/YOUR_USERNAME/bank-management-system-java.git
-
Open in any IDE (IntelliJ recommended)
-
Run:
Main.java
- Object-Oriented Programming (Encapsulation, Abstraction)
- File Handling vs In-Memory Data
- Custom Exception Handling
- Real-world logic building
- Debugging & Project Structuring
- GUI (JavaFX / Swing)
- Database integration (MySQL / JDBC)
- Password encryption
- Multi-user support
Prakhar Singh
Give it a star ⭐ on GitHub and share your feedback!