Cannot get java program to print record from file in the correct format.

Hello Experts,
I am having a major problem with a java program that is supposed to have the user enter a customer number and the results will be a print output of the customer number, last name, and balance. This information is retrieved from a text file created from another java program which I did create successfully. I am able output to screen the first record correctly when I enter the customer number 0003 (1st record in text file), but there is a 0 above the results for some reason unknown to me. When I enter the next customer number after that I get nothing but 0s and spaces. I need help figuring this out, please. I hope I explained the problem well enough. Below is the text file and the program code.
I went ahead and attached the text file.
Thanks  
 
package createBankFile;

import java.nio.file.*;
import java.nio.channels.FileChannel;
import java.nio.ByteBuffer;
import static java.nio.file.StandardOpenOption.*;
import java.util.Scanner;

import javax.print.DocFlavor.READER;

public class ReadBankAccountsRandomly
	{
	   public static void main(String[] args)  
	   {
	      Scanner keyBoard = new Scanner(System.in);
	      Path file = Paths.get("C:\\JavaPrograms\\RandomCustomers.txt");	         
	      String s = "0000,       ,00000.00" + System.getProperty("line.separator");	         
	      final int RECSIZE = s.length();
	      byte[] data = s.getBytes();
	      
	       
	      FileChannel fc = null;
	      String idString;
	      int id;
	      final String QUIT = "999";
	      try
	      {
	         fc = (FileChannel)Files.newByteChannel(file, READ);
	         ByteBuffer buffer = ByteBuffer.wrap(data);
	         
	         System.out.print("Enter customer account number or " + QUIT + " to quit >> ");	           
	         idString = keyBoard.nextLine();
	         while(!idString.equals(QUIT))
	         {
	            id = Integer.parseInt(idString); 
	            buffer = ByteBuffer.wrap(data);
	            fc.position(id * RECSIZE);
	            fc.read(buffer);
	            s = new String(data);
	            System.out.println(s);
	            System.out.print("Enter customer account number >> " + QUIT + " to quit >> ");	              
	            idString = keyBoard.nextLine();
	            
	         }
	         fc.close();
	      }
	      catch (Exception e)
	      {
	          System.out.println("Error message: " + e);
	      }
	   }
	}

Open in new window

RandomCustomers.txt
robertbenAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

ariohCommented:
you have wrong "s" definition. there must be 8 spaces, not 7
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
robertbenAuthor Commented:
I cannot believe one space is all it took. All those hours of frustration for one space.
Your help is much appreciated. Thank you.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Java

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.