//That I should be the minister of Jesus Christ to the Gentiles, ministering the gospel of God, that the offering up of the Gentiles might be acceptable, being sanctified by the Holy Ghost. (Romans 15:16) ------------------------------------------------Solution.java----------------------------------------------------- package com.javarush.task.task17.task1721; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; /* Транзакционность */ public class Solution { public static List allLines = new ArrayList(); public static List forRemoveLines = new ArrayList(); public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String firstFile = br.readLine(); allLines = Files.readAllLines(Paths.get(firstFile), StandardCharsets.UTF_8); String secondFile = br.readLine(); forRemoveLines = Files.readAllLines(Paths.get(secondFile), StandardCharsets.UTF_8); try { new Solution().joinData(); } catch (CorruptedDataException e) { e.printStackTrace(); } } public void joinData() throws CorruptedDataException { if (allLines.containsAll(forRemoveLines)) { allLines.removeAll(forRemoveLines); } else { allLines.clear(); throw new CorruptedDataException(); } } } ------------------------------------------------------------------------------------------------------------------ ------------------------------------------------CorruptedDataException.java--------------------------------------- package com.javarush.task.task17.task1721; import java.io.IOException; public class CorruptedDataException extends IOException { } ------------------------------------------------------------------------------------------------------------------ /* Транзакционность Сделать метод joinData транзакционным, т.е. если произошел сбой, то данные не должны быть изменены. 1. Считать с консоли 2 имени файла 2. Считать построчно данные из файлов. Из первого файла — в allLines, из второго — в forRemoveLines В методе joinData: 3. Если список allLines содержит все строки из forRemoveLines, то удалить из списка allLines все строки, которые есть в forRemoveLines 4. Если условие из п.3 не выполнено, то: 4.1. очистить allLines от данных 4.2. выбросить исключение CorruptedDataException Метод joinData должен вызываться в main. Все исключения обработайте в методе main. Не забудь закрыть потоки. Требования: 1. Класс Solution должен содержать public static поле allLines типа List. 2. Класс Solution должен содержать public static поле forRemoveLines типа List. 3. Класс Solution должен содержать public void метод joinData() который может бросать исключение CorruptedDataException. 4. Программа должна считывать c консоли имена двух файлов. 5. Программа должна считывать построчно данные из первого файла в список allLines. 6. Программа должна считывать построчно данные из второго файла в список forRemoveLines. 7. Метод joinData должен удалить в списке allLines все строки из списка forRemoveLines, если в allLines содержаться все строки из списка forRemoveLines. 8. Метод joinData должен очистить список allLines и выбросить исключение CorruptedDataException, если в allLines не содержаться все строки из списка forRemoveLines. 9. Метод joinData должен вызываться в main. ------------------------------------------------Solution.java----------------------------------------------------- package com.javarush.task.task17.task1721; import java.util.ArrayList; import java.util.List; /* Транзакционность */ public class Solution { public static List allLines = new ArrayList(); public static List forRemoveLines = new ArrayList(); public static void main(String[] args) { } public void joinData () throws CorruptedDataException { } } ------------------------------------------------------------------------------------------------------------------ -------------------------------------------CorruptedDataException.java-------------------------------------------- package com.javarush.task.task17.task1721; import java.io.IOException; public class CorruptedDataException extends IOException { } ------------------------------------------------------------------------------------------------------------------ */