Убедись что метод getFileContent возвращает пустую строку, если метод run не запускался.
package com.javarush.task.task16.task1630;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Solution {
public static String firstFileName;
public static String secondFileName;
//add your code here - добавьте код тут
static{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
firstFileName = reader.readLine();
secondFileName = reader.readLine();
reader.close();
}
catch(IOException e) {
e.printStackTrace();
}
}
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();
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 {
public String content = "";
public String FullFileName = "";
public void run(){
try{
BufferedReader r = new BufferedReader(new FileReader(FullFileName));
while(r.ready()) {
String date = r.readLine();
content = date + " ";
}
r.close();
}
catch(IOException e) {}
}
public void setFileName(String fullFileName){
this.FullFileName = fullFileName;
}
public String getFileContent(){
if (Thread.currentThread().isAlive()){
return content + "\n";
}
else {
return "";
}
}
}
}