Не могу понять, почему не проходит валидацию. Правильное решение смотрел, пишется построчно, считывается построчно, в моем решение при записи все конкатинируется в строку, пишется в строку, при загрузке строка парсится и нужные параметры заносятся, сравнение объектов так же выдает true, как и при правильном решении. Может быть перемудрил, но под конкретные данные условия задачи подходит же) необходимые изменения кода прикладываю
public static class ClassWithStatic {
       public static String staticString = "This is a static test string";
       public int i;
       public int j;

       public void save(OutputStream outputStream) throws Exception {
           PrintWriter printWriter = new PrintWriter(outputStream);
           String line = staticString + " " +this.i + " " + this.j;
           printWriter.println(line);
           printWriter.close();

       }

       public void load(InputStream inputStream) throws Exception {
           BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
           String line;
           while ((line = reader.readLine()) != null){
               Pattern pattern = Pattern.compile("(.+) (\\d+) (\\d+)");
               Matcher matcher = pattern.matcher(line);
               if (matcher.find()){
                   staticString = matcher.group(1);
                   this.i = Integer.parseInt(matcher.group(2));
                   this.j = Integer.parseInt(matcher.group(3));
               } else throw new IllegalStateException();
           }
           reader.close();
       }