I am trying to write output to a text file stored in my azure container.
Following is my woker role snippet for it :
string copyTemp="";
copyTemp += "hi" + "\n";
copyTemp += "hello" + "\n";
if (String.IsNullOrEmpty(copyTemp))
return;
using (var memoryStream = new MemoryStream())
{
memoryStream.Write(System.Text.Encoding.UTF8.GetBytes(copyTemp), 0, System.Text.Encoding.UTF8.GetBytes(copyTemp).Length);
memoryStream.Position = 0;
blockBlob.UploadFromStream(memoryStream);
}
Now, when i download and check my blob,the output doesn't feature a new line.
"hihello"
Does anyone have an idea,what's goin wrong ?
Have you tried using Environment.NewLine rather than adding "\n" to your strings?
It might just be that your "\n" is not a full new line in the place you are reading it. In windows I believe you need a "\r\n" to get a proper new line character.
You can read about the differences between new line (\n) and carriage return (\r) and which systems use which on Wikipedia but that clarifies h that windows uses a carriage return and a line feed to signify a new line.
So if you had downloaded your blob on a Mac or on Linux it probably would have displayed as you expected.