public bool Close()
{
this.writer.Close();
var memoryString = new IO.StreamReader(
new IO.MemoryStream(this.stream.ToArray()), this.encoding).
ReadToEnd();
string fileString = "";
using (var file = new IO.FileStream(
this.filename, IO.FileMode.OpenOrCreate))
{
using (var fileReader = new IO.StreamReader(file))
{
fileString = fileReader.ReadToEnd();
}
}
if (memoryString != fileString)
{
using (var file = new IO.FileStream(this.filename, IO.FileMode.Create))
{
using (var fileWriter = new IO.StreamWriter(file, this.encoding))
{
fileWriter.Write(memoryString);
file.SetLength(file.Position);
}
}
return true;
}
else
{
return false;
}
}