I'm really confused how the fifth condition could have passed but not the last one.
Please help
package com.codegym.task.task16.task1630;
import java.io.*;
import java.util.ArrayList;
public class Solution {
public static String firstFileName;
public static String secondFileName;
//write your code here
static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
static {
try {
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();
//write your code here
System.out.println(f.getFileContents());
f.join();
}
public interface ReadFileInterface {
void setFileName(String fullFileName);
String getFileContents();
void join() throws InterruptedException;
void start();
}
//write your code here
public static class ReadFileThread extends Thread implements ReadFileInterface{
String fullFileName;
String fileContents = "";
public void run() {
try {
FileInputStream inputStream = new FileInputStream(fullFileName);
BufferedReader fileReader = new BufferedReader(new InputStreamReader(inputStream));
String s;
while ((s = fileReader.readLine())!= null){
s= s + " ";
fileContents += s;
}
inputStream.close();
fileReader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void setFileName(String fullFileName) {
this.fullFileName = fullFileName;
}
@Override
public String getFileContents() {
return fileContents;
}
@Override
public void start() {
}
}
}