因此,我构建了一个小应用程序来打开和监视文件的更改并将它们显示为 Windows 窗体。
我遇到了一个问题,但是每当更新文件时,当我第一次加载文件时它工作正常。
这是我正在使用的代码段,它告诉我:
Offset and length were out of bounds for the array or count is greater than the number of elements from index to
the end of the source collection.
我不确定这个逻辑到底有什么问题,因为它应该可以正常工作。m_lastFilePosition 在第一次加载时设置为 0,它会创建一个预期大小的字节数组。
m_readingFile = true;
FileStream l_stream = new FileStream(m_fileToWatch, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
FileInfo l_info = new FileInfo(m_fileToWatch);
buffer = new byte[l_info.Length-m_lastFilePosition];
l_stream.BeginRead(buffer,
(int)m_lastFilePosition,
(int)(l_info.Length - m_lastFilePosition),
new AsyncCallback(FileReadCallback),
l_stream);
有没有人遇到过这个?