Я решил слегка поменять формат практики. В этот раз я дам вам готовое (но некорректное) решение и вам нужно будет его исправить. Ошибки есть как в плане логики, так и в плане структуры проекта.
Я хочу чтобы вы форкнули этот репозиторий, внесли правки и сделали пулл-реквест с вашими исправлениями.
Нужно сделать программу, которая считывает от пользователя от 1 до бесконечности URL до файлов. В этих файлах на каждой строчке написаны фразы, порядок которых не важен. Нужно параллельно считать эти файлы из интернета и слить в один локальный файл, путь до которого также считать у пользователя. В конце вывести суммарное количество строк в итоговом файле.
- Если при чтении файла происходит ошибка, то этот файл игнорируется
- Нужно валидировать URL, которые вводит пользователь
- Ни в один момент нельзя целиком выгружать файлы в память, вся работа идёт в режиме потока
- Если пользователь нажимает стандартную комбинацию для выхода из консольных программ (CTRL+C), то программа должна удалить файл, в который начала записывать
- Если пользователь ввёл уже существующий файл, то нужно спросить хочет ли он его перезаписать
- Файлы должны считываться и записываться параллельно, а не последовательно
(обязательно
ParallelилиTask.WhenAll)
https://un1ver5e.ru/api/files/ny3kqx01.s1w.txt https://un1ver5e.ru/api/files/5hs0j15l.4si.txt https://un1ver5e.ru/api/files/rqdszqht.sjz.txt https://un1ver5e.ru/api/files/xujzw3wz.j2r.txt https://un1ver5e.ru/api/files/o1apoh5j.bdw.txt
Суммарно в этих 5 файлах 72516 строк.