PROJECT REPORT
EMPLOYEE MANAGEMENT SYSTEM
Submitted By:
Bhanu Pratap Singh (RK21ITB33) (12107510)
Project Partners:
Kashish Bedi (RK21ITA03) (12101088)
Mitali Bhat (RK21ITB27) (12204821)
Section:
K21IT
Submitted To:
Virrat Devasar (14591)
Lovely Professional University
Phagwara, Punjab
February-April 2023
INTRODUCTION
This Java program is an Employee Management System (EMS) that allows users
to manage employee data such as adding new employees, updating employee
information, removing employees, and viewing employee details. The program
uses file handling to store employee information in separate text files for each
employee, with the file name being based on the employee's ID.
The program begins with a Main Menu class that displays a menu of options for
managing employee data. The menu includes options for adding a new employee,
viewing an employee's details, removing an employee, updating an employee's
information, and exiting the program.
When the user selects the option to add a new employee, the Employee Add class
is called, which prompts the user to enter the new employee's details (name, ID,
contact info, email, position, and salary) and creates a new text file with the
employee's information.
The Employee Show class is used to view an employee's details. When the user
selects this option, they are prompted to enter the employee's ID. The program
then searches for the text file with the corresponding name and displays the
employee's details.
The Employee Remove class is used to remove an employee from the system.
When the user selects this option, they are prompted to enter the employee's ID.
The program then searches for the text file with the corresponding name and
removes the file if it exists.
The Employee Update class is used to update an employee's information. When
the user selects this option, they are prompted to enter the employee's ID, the old
value of the data they want to update, and the new value they want to replace it
with. The program then searches for the text file with the corresponding name
and updates the information as required.
Finally, the Code Exit class is called when the user chooses to exit the program.
This class displays a goodbye message and exits the program.
Overall, this program provides a basic framework for managing employee data
using file handling in Java.
Code:
import java.util.*;
import java.io.*;
/********* MENU OF EMS **********/
class MainMenu
{
public void menu ()
{
System.out.println("\t\t***************");
System.out.println("\t\t\t EMPLOYEE MANAGEMENT SYSTEM");
System.out.println("\n\nPress 1 : To Add an Employee Details");
System.out.println("Press 2 : To See an Employee Details ");
System.out.println("Press 3 : To Remove an Employee");
System.out.println("Press 4 : To Update Employee Details");
System.out.println("Press 5 : To Exit the EMS Portal");
}
}
To add details of Employee
class Employee_Add
{
public void createFile()
{
Scanner sc=new Scanner(System.in);
EmployDetail emp=new EmployDetail();
emp.getInfo();
try{
File f1=new File("file"+emp.employ_id+".txt");
if(f1.createNewFile()){
FileWriter myWriter = new FileWriter("file"+emp.employ_id+".txt");
myWriter.write("Employee ID:"+emp.employ_id+"\n"+"Employee Name
:"+emp.name+"\n"+
"Father's Name :"+emp.father_name+"\n"+"Employee Contact
:"+emp.employ_contact+"\n"+
"Email Information :"+emp.email+"\n"+"Employee position :"+emp.position+"\n"+
"Employee Salary :"+emp.employ_salary);
myWriter.close();
System.out.println("\nEmployee has been Added :)\n");
System.out.print("\nPress Enter to Continue...");
sc.nextLine();
}
else {
System.out.println("\nEmployee already exists :(");
System.out.print("\nPress Enter to Continue...");
sc.nextLine();
}
}
catch(Exception e){System.out.println(e);}
}
}
Taking Employee Details:
class EmployDetail
{
String name;
String father_name;
String email;
String position;
String employ_id;
String employ_salary;
String employ_contact;
public void getInfo()
{
Scanner sc=new Scanner(System.in);
System.out.print("Enter Employee's name --------: ");
name=sc.nextLine();
System.out.print("Enter Employee's Father name -: ");
father_name=sc.nextLine();
System.out.print("Enter Employee's ID ----------: ");
employ_id=sc.nextLine();
System.out.print("Enter Employee's Email ID ----: ");
email=sc.nextLine();
System.out.print("Enter Employee's Position ----: ");
position=sc.nextLine();
System.out.print("Enter Employee contact Info --: ");
employ_contact=sc.nextLine();
System.out.print("Enter Employee's Salary ------: ");
employ_salary=sc.nextLine();
}
}
To Show details of Employee
class Employee_Show
{
public void viewFile(String s) throws Exception
{
File file = new File("file"+s+".txt");
Scanner sc = new Scanner(file);
while (sc.hasNextLine())
{
System.out.println(sc.nextLine());
}
}
}
To Remove Employee
class Employee_Remove
{
public void removeFile(String ID)
{
File file = new File("file"+ID+".txt");
if(file.exists())
{
if(file.delete());
{
System.out.println("\nEmployee has been removed Successfully");
}
}
else
{
System.out.println("\nEmployee does not exists :( ");
}
}
}
To Update details of Employee
class Employee_Update
{
public void updateFile(String s,String o,String n) throws IOException
{
File file = new File("file"+s+".txt");
Scanner sc = new Scanner(file);
String fileContext="";
while (sc.hasNextLine())
{
fileContext =fileContext+"\n"+sc.nextLine();
}
FileWriter myWriter = new FileWriter("file"+s+".txt");
fileContext = fileContext.replaceAll(o,n);
myWriter.write(fileContext);
myWriter.close();
}
}
To Exit from the EMS Portal
class CodeExit
{
public void out()
{
System.out.println("\n***************");
System.out.println("$ cat Thank You For Using my EMS:) ");
System.exit(0);
}
}
Main Class
class EmployManagementSystem
{
public static void main(String arv[])
{
/* To clear the output Screen */
System.out.print("\033[H\033[2J");
Scanner sc=new Scanner(System.in);
Employee_Show epv =new Employee_Show();
int i=0;
/* Callining Mainmenu Class function **/
MainMenu obj1 = new MainMenu();
obj1.menu();
/* Initialising loop for Menu Choices */
while(i<6)
{
System.out.print("\nPlease Enter choice :");
i=Integer.parseInt(sc.nextLine());
/* Switch Case Statements */
switch(i)
{
case 1:
{
/* Creating class's object and calling Function using that object */
Employee_Add ep =new Employee_Add();
ep.createFile();
System.out.print("\033[H\033[2J");
obj1.menu();
break;
}
case 2:
{
System.out.print("\nPlease Enter Employee's ID :");
String s=sc.nextLine();
try
{
epv.viewFile(s);}
catch(Exception e){System.out.println(e);}
System.out.print("\nPress Enter to Continue...");
sc.nextLine();
System.out.print("\033[H\033[2J");
obj1.menu();
break;
}
case 3:
{
System.out.print("\nPlease Enter Employee's ID :");
String s=sc.nextLine();
Employee_Remove epr =new Employee_Remove();
epr.removeFile(s);
System.out.print("\nPress Enter to Continue...");
sc.nextLine();
System.out.print("\033[H\033[2J");
obj1.menu();
break;
}
case 4:
{
System.out.print("\nPlease Enter Employee's ID :");
String I=sc.nextLine();
try
{
epv.viewFile(I);
}
catch(Exception e)
{
System.out.println(e);
}
Employee_Update epu = new Employee_Update();
System.out.print("Please Enter the detail you want to Update :");
System.out.print("\nFor Example :\n");
System.out.println("If you want to Change the Name, then Enter Current Name and
Press Enter. Then write the new Name then Press Enter. It will Update the Name.\n");
String s=sc.nextLine();
System.out.print("Please Enter the Updated Info :");
String n=sc.nextLine();
try
{
epu.updateFile(I,s,n);
System.out.print("\nPress Enter to Continue...");
sc.nextLine();
System.out.print("\033[H\033[2J");
obj1.menu();
break;
}
catch(IOException e)
{
System.out.println(e);
}
}
case 5:
{
CodeExit obj = new CodeExit();
obj.out();
}
}
}
}
}
Output On CLI
(A demonstration that how my project works)
This is how first terminal will appear with five options:
First Option is used to Add an employee details. After clicking”1” ,we will be able to add the
details as shown in image :
Details has been added successfully.
By clicking”2”, we will be able to see the employee’s Details
by entering employee ID:”
By clicking “4”, we will be able to update the details of
employees by entering existing information :”
Information has been changed successfully.
By clicking “3”, we will be able to update the remove the
details of employees by entering employee ID:”
Details Removed Successfully.
To exit from the Portal, press“5”
This is how our project works.
Thanks.