// Read the file creation record. At this point we are reading
// directly from an input stream so no character set decoding is
// taking place. We assume that any text in this record will not
// require decoding.
//
Tokenizer tk = new InputStreamTokenizer(bis);
tk.setDelimiter(m_delimiter);
Record record;
String number;
//
// Add the header record
//
parseRecord(Integer.toString(MPXConstants.FILE_CREATION_RECORD_NUMBER), new Record(m_locale, tk, m_formats));
++line;
//
// Now process the remainder of the file in full. As we have read the
// file creation record we have access to the field which specifies the
// codepage used to encode the character set in this file. We set up
// an input stream reader using the appropriate character set, and
// create a new tokenizer to read from this Reader instance.
//
InputStreamReader reader = new InputStreamReader(bis, m_projectFile.getFileCreationRecord().getCodePage().getCharset());
tk = new ReaderTokenizer(reader);
tk.setDelimiter(m_delimiter);
//
// Read the remainder of the records
//
while (tk.getType() != Tokenizer.TT_EOF)
{
record = new Record(m_locale, tk, m_formats);
number = record.getRecordNumber();
if (number != null)