Name not displaying in program
Guys,
I have a question for you all. I'm writing a random access file, that will
take my input and store the information to the file.
This is my output from the program. The last name isn't showing at all. I
know it has to do with string buffer. Please let me know what i can do?
Account number First Name Last Name
3 Jeff : 0
// read a record from the specified RandomAccessFile
public void read( RandomAccessFile file ) throws IOException
{
setAccountNumber(file.readInt());
setFirstName( padName( file ) );
setLastName( padName( file ) );
}
// ensure that name is proper length
private String padName( RandomAccessFile file ) throws IOException
{
char name[] = new char[ 30 ];
for ( int i = 0; i < name.length; i++ )
name[ i ] = file.readChar();
return new String( name ).replace( '\0', ' ' );
}
// write a record to the specified RandomAccessFile
public void write( RandomAccessFile file ) throws IOException
{
file.writeInt( getAccountNumber() );
StringBuffer buffer;
if ( FirstName != null )
buffer = new StringBuffer( FirstName );
if ( LastName != null )
buffer = new StringBuffer( LastName );
else
buffer = new StringBuffer(30);
buffer.setLength( 30 );
file.writeChars( buffer.toString() );
}