Добрый день. Пожалуйста, подскажите. Возвращает все правильно, но что-то не так ТОЛЬКО НЕ РЕШЕНИЕ!!!
5. Метод run класса ReadFileThread должен считывать строки из файла, установленного методом setFileName. А метод getFileContent, этого же класса, должен возвращать вычитанный контент. Возвращаемое значение - это одна строка, состоящая из строк файла, разделенных пробелами.
package com.javarush.task.task16.task1630;
import java.io.*;
/*
Последовательный вывод файлов
*/
public class Solution {
public static String firstFileName;
public static String secondFileName;
static {
try {
BufferedReader bufferedReader = new BufferedReader
(new InputStreamReader(System.in));
firstFileName = bufferedReader.readLine();
secondFileName = bufferedReader.readLine();
} catch (IOException e) {
}
}
public static class ReadFileThread extends Thread implements ReadFileInterface {
public static int m = 0;
@Override
public void setFileName(String fullFileName) {
if (!fullFileName.equals(firstFileName)) {
fullFileName = firstFileName;
} else if (fullFileName.equals(firstFileName)) {
fullFileName = secondFileName;
}
}
@Override
public String getFileContent() {
StringBuilder stringBuilder = new StringBuilder();
StringBuilder stringBuilder2 = new StringBuilder();
try {
stringBuilder = new StringBuilder();
stringBuilder2 = new StringBuilder();
if (m == 0) {
FileReader belka = new FileReader(firstFileName);
BufferedReader bufferedReader = new BufferedReader(belka);
while (bufferedReader.ready()) {
stringBuilder.append(bufferedReader.readLine()).append(" ");
}
bufferedReader.close();
m++;
} else if (m == 1) {
FileReader belkaGT = new FileReader(secondFileName);
BufferedReader buffer = new BufferedReader(belkaGT);
// stringBuilder.delete(0,stringBuilder.length());
while (buffer.ready()) {
stringBuilder.append(buffer.readLine()).append(" ");
}
buffer.close();
}
} catch (Exception e) {
}
return stringBuilder.toString();
}
@Override
public void start() {
}
public void run() {
setFileName(firstFileName);
setFileName(secondFileName);
getFileContent();
}
}
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();
System.out.println(f.getFileContent());
}
public interface ReadFileInterface {
void setFileName(String fullFileName);
String getFileContent();
void join() throws InterruptedException;
void start();
}
}