Разработать расширяемую модульную систему архивации или кодирования данных.
Расширяемость:
- По типам файлов - возможность добавить различные типы файлов. В начальной реализации достаточно добавить поддержку .txt файлов.
- По поддерживаемым алгоритмам - возможность добавить реализацию алгоритма кодирования данных. В начальной реализации добавлена поддержка алгоритма Хаффмана для кодирования данных
Программа должна обладать консольным интерфейсом, с поддержкой команд help. При запуске программы должна быть возможность кодировать не только файлы, но просто строку, подаваемую на вход.
Опционально:
- Реализовать возможность многопоточной работы - на вход программе подаётся набор путей до файла, после чего каждый файл обрабатывается в своем потоке.
git clone https://github.com/Fl0pZz/myEncoder3000.git
mvn package
cd myEncoder3000
java -cp target/Test-1.0-SNAPSHOT.jar Main -e -t hello -a huffman