1
我有寫一個二進制文件時,該代碼至極工作:如何使用BinaryWriter進行書寫和閱讀?
using (BinaryWriter binWriter =
new BinaryWriter(File.Open(f.fileName, FileMode.Create)))
{
for (int i = 0; i < f.histogramValueList.Count; i++)
{
binWriter.Write(f.histogramValueList[(int)i]);
}
binWriter.Close();
}
而這個代碼從硬盤上的DAT文件回讀:
fileName = Options_DB.get_histogramFileDirectory();
if (File.Exists(fileName))
{
BinaryReader binReader =
new BinaryReader(File.Open(fileName, FileMode.Open));
try
{
//byte[] testArray = new byte[3];
int pos = 0;
int length = (int)binReader.BaseStream.Length;
binReader.BaseStream.Seek(0, SeekOrigin.Begin);
while (pos < length)
{
long[] l = new long[256];
for (int i = 0; i < 256; i++)
{
if (pos < length)
l[i] = binReader.ReadInt64();
else
break;
pos += sizeof(Int64);
}
list_of_histograms.Add(l);
}
}
catch
{
}
finally
{
binReader.Close();
}
但我想做的事是添加到編寫代碼寫入到文件的更多三流是這樣的:
binWriter.Write(f.histogramValueList[(int)i]);
binWriter.Write(f.histogramValueListR[(int)i]);
binWriter.Write(f.histogramValueListG[(int)i]);
binWriter.Write(f.histogramValueListB[(int)i]);
但第一件事情是我可以寫這一切,並使其在文件中它自我被識別的字符串或東西,所以當即時通訊閱讀文件後,我將能夠把每個列表一個新的?
第二件事是我如何讀迴文件現在每個列表將被添加到一個新的列表? 現在很容易編寫一個列表讀取並將其添加到列表。 但現在我增加了三個列表,所以我該怎麼做呢?
謝謝。
寫作,當你需要與第三方系統,設備或驅動程序進行交互閱讀這樣真的是隻適用。如果您只想保留一組列表,爲什麼不使用二進制序列化?您可以給它一個包含適用列表的對象,甚至可以列出一個列表。查看'BinaryFormatter'獲取更多信息。 –