Коллеги, привет.
Не прохожу.
Помогите пожалуйста найти в чем косяк.
Если не сработал run(), пустая строка выводится, но валидатор не принимает.
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 bf = new BufferedReader(new InputStreamReader(System.in));
try {
firstFileName = bf.readLine();
secondFileName = bf.readLine();
} catch (IOException e) {
e.printStackTrace();
}
}
//add your code here - добавьте код тут
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();
//add your code here - добавьте код тут
System.out.println(f.getFileContent());
}
public interface ReadFileInterface {
void setFileName(String fullFileName);
String getFileContent();
void join() throws InterruptedException;
void start();
}
public static class ReadFileThread extends Thread implements ReadFileInterface {
String fullFileName;
String str = " ";
String t = " ";
ArrayList<String> list = new ArrayList<>();
@Override
public void setFileName(String fullFileName) {
this.fullFileName = fullFileName;
}
// @Override
// public synchronized void start() {
//
// }
public void run() {
try {
// FileInputStream fis = new FileInputStream("C:\\Users\\ьлдьлд\\Desktop\\IT\\Java\\Programs\\JR plugin\\JavaRushTasks\\2.JavaCore\\src\\com\\javarush\\task\\task16\\task1630\\" + fullFileName);
FileInputStream fis = new FileInputStream(fullFileName);
BufferedReader bf = new BufferedReader(new InputStreamReader(fis));
while ((str = bf.readLine()) != null) {
// str = str + " ";
list.add(str + " ");
}
// for (String s : list) {
// System.out.println(s);
// }
bf.close();
fis.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public String getFileContent() {
for (String s : list) {
t = t + s;
}
//t.trim();
return t;
}
}
//add your code here - добавьте код тут
}