簡體   English   中英

如何合理地在C#中存儲大量序列化的二進制文件?

[英]How do I sensibly store large numbers of serialized binary files in C#?

我正在將大量對象序列化為二進制文件,但是我想使所有內容都井井有條,並且真的不希望在文件夾中包含數百個文件。 是否有將它們分組為zip文件,然后訪問該zip中的單個文件的方法?

例如,假設我創建了100個二進制文件並將其壓縮。 我可以在不解壓縮所有內容的情況下訪問該zip中的單個文件並將其反序列化嗎?

是的,zip有一個存檔目錄,可以跳轉到特定文件。 如果您打算花更多的時間從存檔中讀取而不是更改它,那么這將是有效的。 如果您必須能夠將更改提交回非易失性存儲,那么除zip以外的其他格式會更好。

您可以嘗試的另一種方法是將blob(二進制大對象)存儲在輕量級數據庫中。

您可能要使用HDF5 (一種用於結構化存儲的文件格式)以及一組與之配合使用的庫。

我仍然從未使用過它,但是我必須在以后的項目中采用它。 從他們的網站報價:

HDF5是用於存儲和管理數據的數據模型,庫和文件格式。 它支持無限多種數據類型,專為靈活高效的I / O以及大容量和復雜數據而設計。 HDF5是便攜式的並且可擴展,從而允許應用程序在使用HDF5時不斷發展。 HDF5技術套件包括用於管理,操縱,查看和分析HDF5格式數據的工具和應用程序

HDF5技術套件包括:

  • 一種通用的數據模型,可以表示非常復雜的數據對象和各種元數據。

  • 完全可移植的文件格式,對集合中數據對象的數量或大小沒有限制。

  • 一個軟件庫,可在從筆記本電腦到大規模並行系統的各種計算平台上運行,並使用C,C ++,Fortran 90和Java接口實現高級API。

  • 豐富的集成性能功能集,可優化訪問時間和存儲空間。 用於管理,操縱,查看和分析集合中數據的工具和應用程序。

我知道他們為.net提供了包裝器 ,而且您還可以找到其用法的一些c#示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM