Коллеги, кто сможет помочь. Уже потратил один миллион попыток. Шесть раз переписывал код, пробовал разные подходы. но нет. Этот пункт безжалостен. Задача на пять минут превратилась в могочасовую нервотрепку.
package com.javarush.task.task17.task1721;
import java.io.*;
import java.util.*;
/*
Транзакционность
*/
public class Solution {
public static List<String> allLines = new ArrayList<String>();
public static List<String> forRemoveLines = new ArrayList<String>();
public static void main(String[] args){
try(BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedReader fileR1 = new BufferedReader(new FileReader(reader.readLine()));
BufferedReader fileR2 = new BufferedReader(new FileReader(reader.readLine())))
{
reader.close();
while(fileR1.ready()){
allLines.add(fileR1.readLine());
}
fileR1.close();
while(fileR2.ready()){
forRemoveLines.add(fileR2.readLine());
}
fileR2.close();
new Solution().joinData();
}
catch(IOException exc){
}
}
public void joinData() throws CorruptedDataException {
if(allLines != null && forRemoveLines != null){
if(!allLines.containsAll(forRemoveLines)){
allLines.clear();
throw new CorruptedDataException();}
else
{
allLines.removeAll(forRemoveLines);
}}
}
public class CorruptedDataException extends IOException{
}
}