// serialization of Dictionary<string, long> to file string serialize = JsonConvert.SerializeObject(dictionary); byte[] array = Encoding.UTF8.GetBytes(serialize); using (var txtWriter = new StreamWriter(path)) { for (int i = 0; i < array.Length; i++) { txtWriter.WriteLine(array[i]); } } // read it back byte[] data = File.ReadAllLines(path).Select(byte.Parse).ToArray(); using (StreamReader txtReader = new StreamReader(new MemoryStream(data))) { var serializer = new JsonSerializer(); var result = serializer.Deserialize<Dictionary<string, long>>( new JsonTextReader(streamReader) ); return result; }