If You really, really, want to be Your way this would be correct code.
public static void ProcessDirectory()
{
int variable1 = 0;
int i = 0;
StreamReader readToSort;
StreamWriter writeSorted = new StreamWriter(@"C:Sorted_File.txt");
for (i = 1; i < 41; i++)
{
readToSort = new StreamReader(@"C:write.txt");
while (!readToSort.EndOfStream)
{
variable1 = int.Parse(readToSort.ReadLine().ToString());
if (variable1 == i)
{
writeSorted.WriteLine(variable1.ToString());
}
}
readToSort.Close();
}
writeSorted.Close();
}
This would be my solution for such problem if I have understood it correctly.
List <int> sorted_data = new List<int>();
StreamReader readToSort = new StreamReader("Input.txt");
while (!readToSort.EndOfStream)
{
sorted_data.Add(int.Parse(readToSort.ReadLine().ToString()));
}
readToSort.Close();
readToSort.Dispose();
sorted_data.Sort();
StreamWriter writeSorted = new StreamWriter("Output.txt");
foreach (var element in sorted_data)
{
writeSorted.WriteLine(element.ToString());
}
writeSorted.Close();
writeSorted.Dispose();
And do not forget using directives.
using System.Collections.Generic;
using System.IO;
All the best,
Perić Željko