序列化StreamReaders的哈希表

时间:2013-12-31 17:09:55

标签: c# serialization stream hashtable filestream

是否可以将包含字符串作为键的哈希表和StreamReaders序列化为c sharp中的值?我想将一堆文件读入哈希表并将哈希表存储在二进制文件中(并且这样做了很多次)。如果是这样,我怎么能这样做?我记得在一段时间后尝试这个,但我使用的StreamReader或FileReader对象不可序列化,但它不起作用。我应该使用哪个对象?或者这不可能吗?

如果这不可能,那么将这些文件存储在哈希表中的最佳方法是什么?想一想:每个文件有300 MB的文本(但实际上更像每个文件10 MB,其中大约10个)。串? StringBuilder对象?

2 个答案:

答案 0 :(得分:1)

Stream只是从某个地方读取字节的抽象。如果要将多个文件存储在一个文件中,则需要实际将流读取到byte数组中并对其进行序列化。

如果只是文本文件,您可以使用File.ReadAllText阅读它们并将字符串存储在Dictionary<whatever, string>中。请不要使用HashTable,它大约过了五年可怕的过时。

答案 1 :(得分:0)

文件内容是否会更改?如果没有,你只能存储文件名。