private bool ReadWAVFileHeader() { bool bRet = true, bRes; string sFile; FileInfo fiFile; FileStream fsFile; int iLen; byte[] abFile; WavHeader whFile = null; Console.WriteLine("Read a WAV file header."); Console.Write("Filename: "); sFile = Console.ReadLine(); if (!File.Exists(sFile)) { bRet = false; Console.Error.WriteLine("Invalid filename '{0}'.", sFile); } else { fiFile = new FileInfo(sFile); fsFile = fiFile.OpenRead(); iLen = (int)(fiFile.Length); abFile = new byte[iLen]; fsFile.Read(abFile, 0, iLen); fsFile.Close(); whFile = new WavHeader(); bRes = whFile.Extract(abFile); bRes = whFile.Valid(); Console.WriteLine("{0}", whFile); // NOTE - until WavHeader.ToString() is overridden, this will display the type name, not the contents of the header. abFile = null; // Flag for GC cleanup. } return(bRet); }