Если убираю проверку на запуск рана то выдаёт следующее:
Если ставлю обратно то уже вот шо:
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 {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
try {
firstFileName = bufferedReader.readLine();
secondFileName = bufferedReader.readLine();
bufferedReader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static class ReadFileThread extends Thread implements ReadFileInterface {
private ArrayList<String> list = new ArrayList<>();
private String fileName = "";
private boolean zapuskaliChiDa = false;
@Override
public void setFileName(String fullFileName) {
fileName = fullFileName;
}
@Override
public String getFileContent() {
if (!zapuskaliChiDa) {
return "";
} else {
return list.toString();
}
}
@Override
public void run() {
zapuskaliChiDa = true;
try {
BufferedReader bufferedReader = new BufferedReader(new FileReader(fileName));
ArrayList<String> microArrayXzZachem = new ArrayList<>();
while (true) {
String nextLine = bufferedReader.readLine();
if (nextLine == null) {
bufferedReader.close();
break;
} else {
microArrayXzZachem.add(nextLine);
}
}
list.addAll(microArrayXzZachem);
} 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 - добавьте код тут
}