• ,

task1630

Компилируется, читает оба файла и выводит в консоль 2 строки с содержимым файлов как и требуется заданием, но валидацию не проходит…

(Метод run класса ReadFileThread должен считывать строки из файла, установленного методом setFileName. А метод getFileContent, этого же класса, должен возвращать вычитанный контент. Возвращаемое значение — это одна строка, состоящая из строк файла, разделенных пробелами. — Содержимое файла должен вычитывать метод run.)

package com.javarush.task.task16.task1630;

import java.io.*;

public class Solution {
    public static String firstFileName;
    public static String secondFileName;

    //add your code here - добавьте код тут
    static {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        try {
            firstFileName = reader.readLine();
            secondFileName = reader.readLine();
        } catch (IOException e) { }
    }

    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 {
        private String filename;
        private String filetxt;

        public void run(){
            File f = new File(filename);
            String line;
            try {
                BufferedReader filereader = new BufferedReader(new FileReader(f));
                while ((line = filereader.readLine()) != null){
                    if (filetxt == null) {
                        filetxt = line;
                    } else
                        filetxt += " "+line;
                }
                filereader.close();

            } catch (IOException e) {
                System.out.println("Error!");
            }
        }

        @Override
        public void setFileName(String fullFileName) {
            filename = fullFileName;
        }

        @Override
        public String getFileContent() {
            return filetxt;
        }
    }
}