Вывод на печать правильный!
1) Что имеется в виду в пятом пункте? "Убедись что метод getFileContent возвращает пустую строку, если метод run не запускался" - Это о чем?
2) Относительно последнего пункта: второй файл у меня выводится. Что я не то сделал?
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;
//напишите тут ваш код
static {
BufferedReader reader;
try {
reader = new BufferedReader(new InputStreamReader(System.in));
firstFileName = reader.readLine();
secondFileName = reader.readLine();
} 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();
System.out.println(f.getFileContent());
f.join();
}
public interface ReadFileInterface {
void setFileName(String fullFileName);
String getFileContent();
void join() throws InterruptedException;
void start();
}
public static class ReadFileThread extends Thread implements ReadFileInterface {
public FileReader fileReader;
public BufferedReader bufferedReader;
@Override
public void setFileName(String fullFileName) {
try {
fileReader = new FileReader(fullFileName);
} catch (IOException e) {
e.printStackTrace();
} /*finally {
if (fileReader != null) {
try {
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}*/
}
@Override
public String getFileContent() {
String content = null;
try {
bufferedReader = new BufferedReader(fileReader);
StringBuilder stringBuilder = new StringBuilder();
String line;
String ls = " ";
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line).append(ls);
}
content = stringBuilder.toString();
} catch (IOException e) {
e.printStackTrace();
} /*finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}*/
return content;
}
@Override
public void run() {
getFileContent();
}
}
//напишите тут ваш код
}