Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

7 практика

Я решил слегка поменять формат практики. В этот раз я дам вам готовое (но некорректное) решение и вам нужно будет его исправить. Ошибки есть как в плане логики, так и в плане структуры проекта.

Я хочу чтобы вы форкнули этот репозиторий, внесли правки и сделали пулл-реквест с вашими исправлениями.

ТЗ

Нужно сделать программу, которая считывает от пользователя от 1 до бесконечности URL до файлов. В этих файлах на каждой строчке написаны фразы, порядок которых не важен. Нужно параллельно считать эти файлы из интернета и слить в один локальный файл, путь до которого также считать у пользователя. В конце вывести суммарное количество строк в итоговом файле.

Условия

  1. Если при чтении файла происходит ошибка, то этот файл игнорируется
  2. Нужно валидировать URL, которые вводит пользователь
  3. Ни в один момент нельзя целиком выгружать файлы в память, вся работа идёт в режиме потока
  4. Если пользователь нажимает стандартную комбинацию для выхода из консольных программ (CTRL+C), то программа должна удалить файл, в который начала записывать
  5. Если пользователь ввёл уже существующий файл, то нужно спросить хочет ли он его перезаписать
  6. Файлы должны считываться и записываться параллельно, а не последовательно (обязательно Parallel или Task.WhenAll)

Валидные URL для примера

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 строк.

About

Практика для студентов курса "Программирование"

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages