Hi Graham,
Welcome to JavaRanch and this forum!
I was thinking of reading the first part of the file in a singleton that will then keep the schema of the file. This can be accessed by the Data class. Should this be available to the client.
Only if you need it, but it's probable. Two comments:
1) Do you really need a Singleton? Anyway, I think it'll look more natural, to the clients of your Data class, to call some getMetaData() method on their Data instance, instead of calling some static MetaData.getInstance(), IMO.
2) By "client", I guess you mean your business tier, wherever it lies (client-side or server-side).
Regards,
Phil.