2013-10-19 50 views
0

我在尋找自己的文件格式。C#我自己的文件格式

該格式應包含圖片/ PDF /和其他文件...

還需要知道如何封隔器解包這種格式從中解壓縮文件/在其&包讀取從照片上我例如,我的WinForm格式的圖片框。

我已經搜查,但沒有真正找到我'找

什麼,我希望有人能幫助我,謝謝

+1

爲什麼不使用現有的存檔格式,例如ZIP或7z?您可以利用開源庫來打包和解壓縮這些格式。 – Douglas

+0

爲了安全起見,我想成爲唯一能夠讀取該格式的人。 –

+0

但我可以看到沒有人回答,這意味着這是不可能的? –

回答

1

Zip是一個很好的選擇。因爲你可以加密文件,當然也可以在某些情況下減少文件大小(文本和未壓縮的東西)。但是,如果您想創建自己的文件格式,您可以輕鬆地決定存儲規則並在文件內部進行訂購。然後將信息序列化到文件中。例如通過對象序列化或將二進制日期寫入文件對象。

1

如果你真的想寫自己的文件格式,那麼我會建議兩件事之一。一,你可以完全用二進制來完成,在這一點上你會想要做一個'塊'格式。分塊格式基本上對每個分段都有一個標題。頭部包含頭部的大小以及有效負載的大小。爲您的頭創建一個序列化類,然後將字節添加到您的有效內容的文件流中。其實很容易做到。

第二個(也是更簡單)的方法是創建一個XML格式。爲您的格式創建一個主類,然後將所有數據作爲子類的集合添加。一旦你有了,使用任何.net xml序列化類將其序列化到磁盤。

0

您也可以使用SQLite爲您的目的。它不需要服務器即可提供dbms電源。這是您的問題的流行解決方案。

System.Data.SQLite is an ADO.NET adapter for SQLite。

+0

用戶想要以這種文件格式存儲像:pictures/pdf和其他文件這樣的數據,SQLite數據庫不是存儲這些文件的最佳方式。 – Max