/// <summary> /// Loads the input file stream into memory. /// </summary> /// <param name="inputStream"></param> /// <returns></returns> public bool Deserialize(RandomAccessFile inputStream) { try { var elementCount = inputStream.readInt(); for (int elementIndex = 0; elementIndex < elementCount; ++elementIndex) { var elementTypeOrdinal = inputStream.readInt(); var elementType = (VariableLengthRecord.RecordElementType)elementTypeOrdinal; var size = inputStream.readInt(); String value = String.Empty; if (size == inputStream.read(ref value, size)) { RecordElement recordElement = new RecordElement(elementType, value); mElements.Add(recordElement); } } return(true); } catch (Exception) { return(false); } }
public VariableLengthRecordFile(String folder, String filename) { mPathname = folder; mPathname += ("/"); mPathname += (filename); mPathname += (".dat"); mFileStream = new RandomAccessFile(mPathname); if (mFileStream.length() > 0) { mFileStream.seek(0); mBytesUsed = mFileStream.readInt(); } else { mBytesUsed = 0; mFileStream.writeInt(mBytesUsed); } }