分割文本text文件

来源:互联网 发布:iphonex京剧变脸软件 编辑:程序博客网 时间:2024/06/05 10:16
            int iFileSize = 10240 * 1024;//目标大小,例如10MB            FileStream TempStream = null;            BinaryWriter TempWriter = null;            //根据选择来设定分割的小文件的大小            string filepath = @"D:\Test\1701180355.txt";            //反之则在计算机创建目录            FileStream SplitFileStream = new FileStream(filepath, FileMode.Open);            //以文件的全路对应的字符串和文件打开模式来初始化FileStream文件流实例            BinaryReader SplitFileReader = new BinaryReader(SplitFileStream);            //以FileStream文件流来初始化BinaryReader文件阅读器            byte[] TempBytes;            //每次分割读取的最大数据            int iFileCount = (int)(SplitFileStream.Length / iFileSize);            //小文件总数            //progressBar1.Maximum = iFileCount;            if (SplitFileStream.Length % iFileSize != 0) iFileCount++;            string[] TempExtra = filepath.Split('.');            /* 循环将大文件分割成多个小文件 */            for (int i = 1; i <= iFileCount; i++)            {                string sTempFileName = @"D:\Test\" + i.ToString().PadLeft(4, '0') + "." + TempExtra[TempExtra.Length - 1]; //小文件名                //确定小文件的文件名称                TempStream = new FileStream(sTempFileName, FileMode.OpenOrCreate);                //根据文件名称和文件打开模式来初始化FileStream文件流实例                TempWriter = new BinaryWriter(TempStream);                //以FileStream实例来创建、初始化BinaryWriter书写器实例                TempBytes = SplitFileReader.ReadBytes(iFileSize);                //从大文件中读取指定大小数据                TempWriter.Write(TempBytes);                //把此数据写入小文件                TempWriter.Close();                //progressBar1.Value = 0;                //String fileName = @"Z:\ftpfoot\ksd_rtx\KSD_RTX_140131.txt";                //FilePartition objFp = new FilePartition(fileName);                //if (objFp.OnPartitionFile())                //    Response.Write(String.Format("共切割成{0}个文件.", objFp.FileCount));            }            if (SplitFileReader != null) SplitFileReader.Close();            if (TempWriter != null) TempWriter.Close();            if (TempStream != null) TempStream.Close();


0 0