2015-01-05 120 views
-2

我想將一些測量數據保存到文件中。要在其他應用程序中使用該文件,我必須將數據轉換爲特定的文件格式。我有一個表包含以下信息:將數據(對象)轉換爲文件格式字節數組

  • 偏移
  • 字節
  • 類型
  • 說明

用於報頭的每個元素。

所以,我必須以這種格式轉換我的對象的所有信息。有沒有簡單的方法來做到這一點?是製作大字節數組並將這些信息填充到數組中的正確方法嗎?

+0

以什麼格式?您尚未提供所需格式的清晰,準確,明確的規格。可以肯定的是,你需要「製作一個大字節數組」,但如果沒有明確的書面問題,沒有人能夠確定地知道。 –

回答

0

如果你想轉換你的數據並寫入一個文件,然後轉換並寫入它。 這是最簡單的方法 。示例代碼:

struct Data 
{ 
    int offset; 
    byte[] bytes; 
    byte type; 
    string description; 
} 

void WriteDataToStream(Stream outputStream, List<Data> data) 
{ 
    using(var bw = new BinaryWriter(outputStream)) 
    { 
     foreach(var d in data) 
     { 
      bw.Write(d.offset); 
      bw.Write(d.bytes, 0, d.bytes.Length); 
      bw.Write(d.type); 
      bw.Write(d.description); 
     } 
    } 
} 

該流可能是FileStream。請注意,BinaryWriter將在Dispose中關閉基本流,但您可以顯式轉換數據並自行將其寫入基本流中作爲字節數組。


其他的方法,你可以實現ISerealizable接口。我認爲這將是最簡單的。

相關問題