我想知道哪種方式是更好的方式來存儲文件?作爲使用Stream
或字節數組(byte[]
)的對象中的屬性?將文件作爲字節數組或流存儲在對象中?
例如:
public class FileObject
{
public string SomeMetaData {get; set;}
public Stream Content {get; set;}
}
VS
public class FileObject
{
public string SomeMetaData {get; set;}
public byte[] Content {get; set;}
}
我有一個存儲有關文件的一些元數據的對象,它也有該文件的文件內容。這個類將作爲文件的容器,所以我可以在保存之前根據元數據做一些邏輯。
我知道如果使用Stream,我必須在處理完之前調用Dispose,這會使得難以傳遞對象而無需擔心其內容被丟棄。不過,我不確定這是一個真正的問題還是我需要牢記的其他事情。
「流」只表示對數據進行操作,而不是數據本身。 –
@ DanielA.White:除非它是一個MemoryStream。 – SLaks
所以你的問題真的取決於你如何獲得你的數據。從文件系統,或從Web API或從COM ... –