我正在讀取一個二進制文件,並在等待發生的事情時,我注意到該程序沒有做任何事情。程序似乎不想讀取文件
它似乎被卡在某個執行點。我在一些打印語句中添加了控制檯,並且可以看到它達到某個特定點......但似乎並不想繼續。這是第一對夫婦的代碼行:
private BinaryReader inFile;
public void Parser(string path)
{
byte[] newBytes;
newBytes = File.ReadAllBytes(path);
using (MemoryStream ms = new MemoryStream())
{
ms.Write(newBytes, 0, newBytes.Length);
inFile = new BinaryReader(ms);
inFile.BaseStream.Seek(0, SeekOrigin.Begin);
}
}
public void ParseFile()
{
Console.WriteLine("parsing");
Console.WriteLine("get size to read"); // prints this out
int sizeToRead = inFile.ReadInt32();
Console.WriteLine("Size: {0}", sizeToRead); // doesn't print this out
Console.WriteLine("Done"); // end file processing
}
當我註釋掉讀取,它工作正常。我將的內容轉儲到一個新文件中,它與原始文件相同,所以它應該是一個有效的流。
我不知道如何繼續調試此問題。任何人遇到類似的問題?
編輯:對不起,我發佈了不同的方法和零件。下面是整個方法
什麼是'inFile'? – CodingGorilla
Yep同意@CodingGorilla將需要知道'inFile'是什麼,並且可以包含代碼嗎? –
對不起,它只是一個'BinaryReader' – MxyL