關於此交Stream read selected listbox item query雷丁400字節的二進制文件頭文件
我正在讀SEGY文件(地震數據),並與交上述我管理讀取第一3200個字節,這是考文件頭文件的一個SEGY文件。
http://en.wikipedia.org/wiki/SEG_Y http://www.seg.org/documents/10161/77915/seg_y_rev1.pdf
我想下一步要做的就是讀它而來的3200個字節texual文件頭後的400字節的二進制文件頭。
我修改了我的代碼,嘗試讀取文件並跳過第一個3200字節,但它提出了拒絕訪問的異常,我不明白爲什麼,我可以讀取texual頭文件,我認爲它確實是一個訪問問題。我懷疑這是我如何設置二進制閱讀。 (我發現訪問問題,我沒有關閉從文本標題中讀取的文件)
當我讀取二進制文件後,我想將其轉換爲可讀文本並在富文本框中顯示,但不幸的是,由於我用C#修改了有限的5個月,這超出了我的能力。
任何幫助,將不勝感激,謝謝。
char[] binary = new char[400];
String item = (string)txtPath.Text + @"\" + lstFiles.SelectedItem;
FileStream readStream;
try
{
readStream = new FileStream(item, FileMode.Open);
BinaryReader readBinary = new BinaryReader(readStream);
readBinary.BaseStream.Seek(0, SeekOrigin.Begin);
readBinary.Read(binary, 3200, 400);
string stringData = "";
for (int i = 0; i < data.Length; i++)
{
if ((i % 80) == 0 && stringData != "")
stringData += Environment.NewLine;
stringData += data[i].ToString();
}
rtbHeader.Text = stringData + Environment.NewLine;
rtbHeader.AppendText(item);
readStream.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
給我們確切的異常信息以及你得到它的哪一行會有所幫助。 – 2014-12-05 06:15:38