Но наверно ошибка моя в не понимаемые задачи а точнее я делаю что то что не там должно делаться
Метод run класса ReadFileThread должен считывать строки из файла, установленного методом setFileName. А метод getFileContent, этого же класса, должен возвращать вычитанный контент. Возвращаемое значение - это одна строка, состоящая из строк файла, разделенных пробелами
Я считываю файл в методе getFileContent()
Я подозреваю что метод run могу переопределить но у меня возникает проблема для передачи данных от одного метода другому это же должны быть какие то статик переменная которая работает на целый класс.
В чем вопрос!
в методе run нужно считывать файл получать строку и выводить ее уже в методе getFileContent()?
Спасибо
package com.javarush.task.task16.task1630;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
Последовательный вывод файлов
*/
public class Solution{
public static String firstFileName;
public static String secondFileName;
//add your code here - добавьте код тут
static {
BufferedReader name = new BufferedReader(new InputStreamReader(System.in));
try {
firstFileName = name.readLine();
secondFileName = name.readLine();
} catch (IOException e) {
e.printStackTrace();
}
// firstFileName = "C:\\11\\3.txt";
// secondFileName = "C:\\11\\4.txt";
}
public static class ReadFileThread extends Thread implements ReadFileInterface{
public static String name;
@Override
public void setFileName(String fullFileName) {
name=fullFileName;
}
@Override
public String getFileContent() throws IOException {
BufferedReader reader = new BufferedReader(new FileReader(name));
// System.out.println(name);
String s ="";
while (reader.ready()){
s=s+reader.readLine();
}
s=s.trim();
return s;
}
}
public static void main(String[] args) throws InterruptedException, IOException {
systemOutPrintln(firstFileName);
systemOutPrintln(secondFileName);
}
public static void systemOutPrintln(String fileName) throws InterruptedException, IOException {
ReadFileInterface f = new ReadFileThread();
f.setFileName(fileName);
f.start();
//add your code here - добавьте код тут
System.out.println(f.getFileContent());
}
public interface ReadFileInterface {
void setFileName(String fullFileName);
String getFileContent() throws IOException;
void join() throws InterruptedException;
void start();
}
//add your code here - добавьте код тут
}