Вообще не понимаю что имеется в виду под словом транзакционность в данном контексте. Валидатор слишком долго работает и закаончивает работу
package com.javarush.task.task17.task1721;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
/*
Транзакционность
*/
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) throws IOException {
Solution solution = new Solution();
try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
FileReader firstReader = new FileReader(bufferedReader.readLine());
FileReader secondReader = new FileReader(bufferedReader.readLine())) {
while (firstReader.ready()) {
allLines.add(bufferedReader.readLine());
}
while (secondReader.ready()) {
forRemoveLines.add(bufferedReader.readLine());
}
solution.joinData();
}
}
public synchronized void joinData() throws CorruptedDataException {
if (allLines.containsAll(forRemoveLines)) {
allLines.clear();
}
else throw new CorruptedDataException();
}
}