I can't find a solutions. I have tried all methods to check if the thread has started.
package com.codegym.task.task16.task1630;
import java.io.*;
public class Solution {
public static String firstFileName;
public static String secondFileName;
//write your code here
static
{
try
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
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();
//write your code here
f.join();
System.out.println(f.getFileContents());
}
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 fileName;
String fileContent = " ";
@Override
public void setFileName(String fullFileName)
{
this.fileName = fullFileName;
}
@Override
public String getFileContents()
{
if(this.isAlive()) {
return fileContent;
}
else
{
return " ";
}
}
@Override
public void run()
{
try {
FileReader fr = new FileReader(fileName);
BufferedReader bufer = new BufferedReader(fr);
String cadena;
StringBuffer sb = new StringBuffer();
while ((cadena = bufer.readLine()) != null) {
sb.append(cadena);
sb.append(" ");
}
fileContent = sb.toString();
bufer.close();
}
catch(FileNotFoundException e)
{
e.printStackTrace();
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
}