public TermInfoReader (string term, string filename)
{
using (FileStream st = File.OpenRead (filename)) {
long length = st.Length;
if (length > 4096)
throw new Exception ("File must be smaller than 4K");
buffer = new byte [(int) length];
if (st.Read (buffer, 0, buffer.Length) != buffer.Length)
throw new Exception ("Short read");
ReadHeader (buffer, ref booleansOffset);
ReadNames (buffer, ref booleansOffset);
}
}