Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Your task is to use the CreateEmployee.java file to learn the random file access. Moreover, use the source code to write a student management system

Your task is to use the CreateEmployee.java file to learn the random file access. Moreover, use the source code to write a student management system that allow user to add, edit and delete student record. Use RandomAccessFile

-------given code to use ------

 package filehandling; /** * * @author asshole */ import java.io.IOException; import java.io.RandomAccessFile; public class CreateEmployeeFile { public static void main(String[] args) throws Exception { String[] fnames = { "A", "B", "C" }; String[] lnames = { "a", "b", "c" }; String[] addresses = { "Box 100", "55 Street", "6 Lane" }; byte[] ages = { 46, 59, 32 }; double[] salaries = { 5.0, 0.0, 3.0 }; RandomAccessFile raf = new RandomAccessFile("employee.dat", "rw"); EmployeeRecord er = new EmployeeRecord(); for (int i = 0; i < fnames.length; i++) { er.setFirstName(fnames[i]); er.setLastName(lnames[i]); er.setAddress(addresses[i]); er.setAge(ages[i]); er.setSalary(salaries[i]); er.write(raf); } raf = new RandomAccessFile("employee.dat", "rw"); er = new EmployeeRecord(); int numRecords = (int) raf.length() / er.size(); System.out.println("File length " +raf.length() + " Object Emp size "+ er.size()); for (int i = 0; i < numRecords; i++) { er.read(raf); System.out.print(er.getFirstName() + " "); System.out.print(er.getLastName() + " "); System.out.print(er.getAddress() + " "); System.out.print(er.getAge() + " "); System.out.println(er.getSalary()); } raf.seek(0); for (int i = 0; i < numRecords; i++) { er.read(raf); if (er.getAge() >= 55) { er.setSalary(0.0); raf.seek(raf.getFilePointer() - er.size()); er.write(raf); raf.seek(raf.getFilePointer() - er.size()); er.read(raf); } System.out.print(er.getFirstName() + " "); System.out.print(er.getLastName() + " "); System.out.print(er.getAddress() + " "); System.out.print(er.getAge() + " "); System.out.println(er.getSalary()); } } } class EmployeeRecord { private String lastName; private String firstName; private String address; private byte age; private double salary; void read(RandomAccessFile raf) throws IOException { char[] temp = new char[15]; for (int i = 0; i < temp.length; i++) temp[i] = raf.readChar(); lastName = new String(temp); temp = new char[15]; for (int i = 0; i < temp.length; i++) temp[i] = raf.readChar(); firstName = new String(temp); temp = new char[30]; for (int i = 0; i < temp.length; i++) temp[i] = raf.readChar(); address = new String(temp); age = raf.readByte(); salary = raf.readDouble(); } void write(RandomAccessFile raf) throws IOException { StringBuffer sb; if (lastName != null) sb = new StringBuffer(lastName); else sb = new StringBuffer(); sb.setLength(15); raf.writeChars(sb.toString()); if (firstName != null) sb = new StringBuffer(firstName); else sb = new StringBuffer(); sb.setLength(15); raf.writeChars(sb.toString()); if (address != null) sb = new StringBuffer(address); else sb = new StringBuffer(); sb.setLength(30); raf.writeChars(sb.toString()); raf.writeByte(age); raf.writeDouble(salary); } void setAge(byte age) { this.age = age; } byte getAge() { return age; } void setAddress(String address) { this.address = address; } String getAddress() { return address; } void setFirstName(String firstName) { this.firstName = firstName; } String getFirstName() { return firstName; } void setLastName(String lastName) { this.lastName = lastName; } String getLastName() { return lastName; } void setSalary(double salary) { this.salary = salary; } double getSalary() { return salary; } int size() { return 2 * (15 + 15 + 30) + 9; } } 

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

OpenStack Trove

Authors: Amrith Kumar, Douglas Shelley

1st Edition

1484212215, 9781484212219

More Books

Students also viewed these Databases questions