почему то при написании вопроса код не обновляется , поэтому по частям.
Я посмотрел множество подсказок о том как решали другие и мне непонятна их логика .
1) помогите мне пожалуйста понять что вообще от меня хотят в качестве результата методов setFileName и GetFileContent?
Как я это вижу, SetFileName должен просто установить что вот тут будет использоваться файл с этим Path.
GetFileContent на мой взгляд должен вернуть финальную строку. -> а метод run должен просто оба метода по очереди вызвать и отдыхать себе дальше.
другие пользователи нагружают метод run так что в методе GetFileContent вообще нет смысла, разве нет?
2) посоветуйте как работать с моим вариантом решения. он не получается даже на фазе теста. выкидывает nullpointer
public static class ReadFileThread extends Thread implements ReadFileInterface{
public static volatile FileInputStream fis;
public static volatile Scanner sc;
//
public String fullFileName;
public void run(){
getFileContent();
sc.close();
}
@Override
public void setFileName(String fullFileName) {
/*try{
sc=new Scanner(new FileInputStream(fullFileName));
}
catch (FileNotFoundException e){}*/
this.fullFileName =fullFileName;
}
@Override
public String getFileContent() throws NullPointerException{
StringBuilder content = null;
assert false;
if(!sc.hasNextLine()){return "";}
content=content.append(sc.nextLine().toString());
while ( sc.hasNextLine()){
assert false;
content.append(" ").append(sc.nextLine());
}
assert false;
return content.toString();
}
}