// Fig. 15.10: Record.java // Record class for the RandomAccessFile programs. import java.io.*; public class Record { private int account; private String lastName; private String firstName; private double balance; // Read a record from the specified RandomAccessFile public void read( RandomAccessFile file ) throws IOException { account = file.readInt(); char first[] = new char[ 15 ]; for ( int i = 0; i < first.length; i++ ) first[ i ] = file.readChar(); firstName = new String( first ); char last[] = new char[ 15 ]; for ( int i = 0; i < last.length; i++ ) last[ i ] = file.readChar(); lastName = new String( last ); balance = file.readDouble(); } // Write a record to the specified RandomAccessFile public void write( RandomAccessFile file ) throws IOException { StringBuffer buf; file.writeInt( account ); if ( firstName != null ) buf = new StringBuffer( firstName ); else buf = new StringBuffer( 15 ); buf.setLength( 15 ); file.writeChars( buf.toString() ); if ( lastName != null ) buf = new StringBuffer( lastName ); else buf = new StringBuffer( 15 ); buf.setLength( 15 ); file.writeChars( buf.toString() ); file.writeDouble( balance ); } public void setAccount( int a ) { account = a; } public int getAccount() { return account; } public void setFirstName( String f ) { firstName = f; } public String getFirstName() { return firstName; } public void setLastName( String l ) { lastName = l; } public String getLastName() { return lastName; } public void setBalance( double b ) { balance = b; } public double getBalance() { return balance; } // NOTE: This method contains a hard coded value for the // size of a record of information. public static int size() { return 72; } }