Подсказка от ментора: Убедись что метод getFileContent возвращает пустую строку, если метод run не запускался. package com.javarush.task.task16.task1630; import java.io.*; import java.util.ArrayList; public class Solution { public static String firstFileName; public static String secondFileName; static { try { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); firstFileName = reader.readLine(); secondFileName = reader.readLine(); reader.close(); } catch(IOException e) {} } public static void main(String[] args) throws InterruptedException { systemOutPrintln(firstFileName); systemOutPrintln(secondFileName); } public static void systemOutPrintln(String fileName) throws InterruptedException { ReadFileInterface f = new ReadFileThread(); f.setFileName(fileName); f.start(); //add your code here - добавьте код тут f.join(); System.out.println(f.getFileContent()); } public interface ReadFileInterface { void setFileName(String fullFileName); String getFileContent(); void join() throws InterruptedException; void start(); } //add your code here - добавьте код тут public static class ReadFileThread extends Thread implements ReadFileInterface { private String fullFileName; @Override public void setFileName(String fullFileName) { this.fullFileName = fullFileName; } @Override public String getFileContent() { try { ArrayList<String> list = new ArrayList<>(); FileInputStream fileInputStream = new FileInputStream(fullFileName); BufferedReader reader = new BufferedReader(new InputStreamReader(fileInputStream)); while(reader.ready()) { list.add(reader.readLine()); } reader.close(); fileInputStream.close(); return String.join(" ", list); } catch (Exception ex) { return ""; } } } }