I want to prepend headers to my CSV File as to let the data reflect the headings. How would I go about this without having to add it each time writing to the file? Meaning I onl
This is my suggested solution. My suggestion is to first check if the file exists or not, to then decide if you need to write the header or not.
private void DoTheWork(int fileIDtoUpdate)
{
//this is just my representation of what probably already exist in your project
string textInTheTextBox = "blah blah blah blah\nI love text\nI love code\nI love to Code\ndon't you just love to code!";
string filePath1 = @"M:\StackOverflowQuestionsAndAnswers\40726017\File1.txt";
string filePath2 = @"M:\StackOverflowQuestionsAndAnswers\40726017\File2.txt";
string filePath3 = @"M:\StackOverflowQuestionsAndAnswers\40726017\File3.txt";
string filePath4 = @"M:\StackOverflowQuestionsAndAnswers\40726017\File4.txt";
string fileToWorkWith = string.Empty;
//decide which file to work with
switch (fileIDtoUpdate)
{
case 1:
fileToWorkWith = filePath1;
break;
case 2:
fileToWorkWith = filePath2;
break;
case 3:
fileToWorkWith = filePath3;
break;
case 4:
fileToWorkWith = filePath4;
break;
default:
break;
}
//check if the file existed
bool fileExisted = File.Exists(fileToWorkWith);
using (StreamWriter sw = new StreamWriter(fileToWorkWith, true))
{
if (!fileExisted)
{
//if the file did not exist, then you need to put your header line!
sw.WriteLine("Write your Header Line here");
}
sw.WriteLine(textInTheTextBox);//down here... who cares if the file existed or not, you need to append this text to it no matter what!
}
}