// 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;
}