@Override public String getFileContent() { if(line == null) return ""; else return line; } // зачем возвращаем "" если строка пустая? почему не вернуть просто line? ведь при объявлении и инициализации String line = ""; она уже инициализирована как "" Полный код класса: public static class ReadFileThread extends Thread implements ReadFileInterface { private String fileName; private String line = ""; @Override public void setFileName(String fullFileName) { this.fileName = fullFileName; } @Override public String getFileContent() { if(line == null) return ""; else return line; } @Override public void run() { try { FileReader fr = new FileReader(fileName); BufferedReader br = new BufferedReader(fr); String str; while ((str = br.readLine())!= null) { line += " " + str; } br.close(); } catch (IOException e) { e.printStackTrace(); } }