C# 大文本拆分


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"));
                    }
                }
            }
        }
原文地址:https://www.cnblogs.com/LukeSteven/p/15476319.html