public static void SplitBigTxtFile(string filePath)
{
int lineOfEach = 500000;
int fileIndex = 1;
var outputFile = Path.GetFileNameWithoutExtension(filePath) + "_" + fileIndex + ".txt";
string headerLine = "";
int lineIndex = 1;
StreamWriter sw = new StreamWriter(outputFile, false, Encoding.GetEncoding("gb2312"));
using (StreamReader sr = new StreamReader(filePath, Encoding.GetEncoding("gb2312")))
{
headerLine = sr.ReadLine();
while (!sr.EndOfStream)
{
var line = sr.ReadLine();
lineIndex++;
sw.WriteLine(line);
if (lineIndex % lineOfEach == 0)
{
fileIndex++;
outputFile = Path.GetFileNameWithoutExtension(filePath) + "_" + fileIndex + ".txt";
sw.Flush();
sw.Close();
sw = new StreamWriter(outputFile, false, Encoding.GetEncoding("gb2312"));
}
}
}
}