Вообще не врублюсь как тут что работает. Может кто, пожалуйста, пошагово пояснить что и куда?
package com.javarush.task.task16.task1630;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Solution {
public static String firstFileName;
public static String secondFileName;
//add your code here - добавьте код тут
public static volatile BufferedReader rd=new BufferedReader(new InputStreamReader(System.in));
static {
try {
firstFileName=rd.readLine();
secondFileName=rd.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();
//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{
String name="";
String filePath;
public void setFileName(String fullFileName) {
this.filePath="C:\\test.txt";
}
public String getFileContent() {
return name;
}
public void run() {
try {
String x;
while((x=rd.readLine())!=null){
name=name+x+"";
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}