В строчке 37 было CommandExecutor.execute(Operation.EXIT);
Это я уже просто варианты перебирал.
package com.javarush.task.task31.task3110;
import com.javarush.task.task31.task3110.command.ExitCommand;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.file.Paths;
public class Archiver {
public static void main(String[] args) throws Exception {
System.out.println("Please, enter path for your archive...");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
String pathArch = br.readLine();
ZipFileManager zfm = new ZipFileManager(Paths.get(pathArch));
String pathFile = br.readLine();
zfm.createZip(Paths.get(pathFile));
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
Operation operation = askOperation();
while ((operation != Operation.EXIT)) {
CommandExecutor.execute(operation);
operation = askOperation();
}
new ExitCommand().execute();
}
public static Operation askOperation() throws IOException {
ConsoleHelper.writeMessage("Выберите операцию:\n" +
"0 - упаковать файлы в архив\n" +
"1 - добавить файл в архив\n" +
"2 - удалить файл из архива\n" +
"3 - распаковать архив\n" +
"4 - просмотреть содержимое архива\n" +
"5 - выход");
int num = ConsoleHelper.readInt();
while (num <= 0 && num >= 5) {
num = ConsoleHelper.readInt();
}
return Operation.values()[num];
}
}