.NET 4.x Разделить один большой txt файл на несколько - C#
Формулировка задачи:
Есть на раб столе папка пустая а также есть большой тхт, в нем много строк. Вопрос таков: комп создает в пустой папке по очереди тхт и у каждого тхт имя идет как по циклу пока софт не выполнит работу, имена :1,2,3,4,5 итд.
1)софт создал первый тхт файл и в него сделал copy первых 3168 строк из болшого тхт и вставил эти строки в первый тхт в папке, вроде нормально обьяснил......
2)после 1. пункта, софт создает следующий тхт в той же папке, где уже создан тхт с именем 1. Второй тхт имеет имя 2 и в нем находятся следующие 3168 строки из большого тхт(естественно первые 3168 софт пропускает т.к. они уже находятся в первом тхт)....тут тоже вроде все понятно и эти 2 пункта он будет делает пока не перекинет все строки из большого тхт по тхт файлам в папке.... Для меня проблематично решить эту задачу
Решение задачи: «.NET 4.x Разделить один большой txt файл на несколько»
textual
Листинг программы
var sourceTxt = @"c:\temp\big.txt";
var targetFolder = @"c:\temp\";
SplitFile(sourceTxt, targetFolder);
...
static void SplitFile(string sourcePath, string targetFolder)
{
var count = 0;
var maxCount = 3168;
var currentFile = (StreamWriter) null;
var currentFileNumber = 1;
foreach (var line in File.ReadLines(sourcePath))
{
if (currentFile == null || count >= maxCount)
{
if (currentFile != null)
currentFile.Dispose();
currentFile = new StreamWriter(Path.Combine(targetFolder, currentFileNumber + ".txt"));
currentFileNumber++;
count = 0;
}
currentFile.WriteLine(line);
count++;
}
if (currentFile != null)
currentFile.Dispose();
}