hey,
i got this weird problem.
i am making a little textediting program and somehow when i have written a txt file and close it via:
tc.Close();
the text file goes blank. nothing left.
the code ( sorry if it looks like rubbish. i just started programming in C#) :
Code:static void opentxtfile(string input) { Console.Clear(); if (input == " ") { Console.WriteLine("TEXTEDITOR \n \nGive the name of the text file, or 1 to exit\n\n"); Console.Write("file: "); string input2 = Console.ReadLine(); Thread.Sleep(1); if (input2 == "1" ) { txtedit(); return; } else opentxtfile(input2); return; } else Thread.Sleep(1); if (!File.Exists(MAINDIR + "\\documents\\text\\" + input + ".txt")) { Console.WriteLine("text file does not exist."); txtedit(); return; } TextReader tw = new StreamReader(MAINDIR + "\\documents\\text\\" + input + ".txt"); Int32 NumberOfLines = 1; Thread.Sleep(1); using (StreamReader r = new StreamReader(MAINDIR + "\\documents\\text\\" + input + ".txt")) { int i = 0; while (r.ReadLine() != null) { i++; } NumberOfLines = i + 1; } string[] ListLines = new string[NumberOfLines+1]; for (int i = 1; i < NumberOfLines; i++) { ListLines[i] = tw.ReadLine(); } Console.Clear(); for (int y = 1; y < NumberOfLines; y++) { Console.WriteLine(ListLines[y]); } tw.Close(); Thread.Sleep(1); string newline = Console.ReadLine(); TextWriter tc = new StreamWriter (MAINDIR + "\\documents\\text\\" + input + ".txt"); if (newline != "/quit") { Thread.Sleep(5); int a; for (a = 1; a < NumberOfLines; a++) { tc.WriteLine(ListLines[a]); } Thread.Sleep(5); ListLines[NumberOfLines] = newline; tc.WriteLine(ListLines[NumberOfLines]); tc.Close(); Thread.Sleep(5); opentxtfile(input); return; } else tc.Close(); // right here Thread.Sleep(500); txtedit(); return; }