Не проходит валидацию
package com.javarush.task.task19.task1916;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
Отслеживаем изменения
*/
public class Solution {
public static List<LineItem> lines = new ArrayList<LineItem>();
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
BufferedReader file1 = new BufferedReader(new FileReader(in.readLine()));
BufferedReader file2 = new BufferedReader(new FileReader(in.readLine()));
in.close();
while (file1.ready()) { //пока в файл 1 есть что-то
String strFile1 = file1.readLine(); //читаем строку из файла 1
if (file2.ready()) { //если в файле 2 есть что-то
String strFile2 = file2.readLine(); //читаем строку из файл 2
if (strFile1.equals(strFile2)) //если строки совпадают, то
lines.add(new LineItem(Type.SAME, strFile1)); // добавляем любую строку с типом сэйм
else { //если строки разные
if (strFile1.equals("")) //если пустая строка из файл 1, то
lines.add(new LineItem(Type.ADDED, strFile2)); // добавляем строку из файл 2 с типом Адд
else // если пустая строка из файла 2, то
lines.add(new LineItem(Type.REMOVED, strFile1)); //добавляем строку из файла 1 с типом ремув
}
}
else lines.add(new LineItem(Type.REMOVED,strFile1)); //если в файле 2 закончились строки, оставшиеся строки из файла 1 добавляем с типом ремув
}
file1.close();
while (file2.ready()){ //если строки в файле 1 закончились, а в файле 2 остались, то
lines.add(new LineItem(Type.ADDED,file2.readLine())); //доавляем их все с типом адд
}
file2.close();
System.out.println(lines);
}
public static enum Type {
ADDED, //добавлена новая строка
REMOVED, //удалена строка
SAME //без изменений
}
public static class LineItem {
public Type type;
public String line;
public LineItem(Type type, String line) {
this.type = type;
this.line = line;
}
@Override
public String toString() {
return type +" "+line+"\n";
}
}
}