I have a test file that contains
1,2,3
2,3,4
5,6,7
I want to insert this into the first line: A,B,C
So that I get:
A,B,C
1,2,3
2,3,4
5,6,7
How can I do this?
See Question&Answers more detail:osI have a test file that contains
1,2,3
2,3,4
5,6,7
I want to insert this into the first line: A,B,C
So that I get:
A,B,C
1,2,3
2,3,4
5,6,7
How can I do this?
See Question&Answers more detail:osSimilar to the previous answers, but this illustrates how to do what you want to do while minimizing memory consumption. There is no way around reading through the entire file you want to modify, even if you open it in a read/write stream, because you can't "insert" data.
static void WriteABC(string filename)
{
string tempfile = Path.GetTempFileName();
using (var writer = new StreamWriter(tempfile))
using (var reader = new StreamReader(filename))
{
writer.WriteLine("A,B,C");
while (!reader.EndOfStream)
writer.WriteLine(reader.ReadLine());
}
File.Copy(tempfile, filename, true);
}