У меня есть метод, чтобы загрузить строку из файла и вернуть ее.
public String loadStopwords(File targetFile) throws IOException {
File fileTo = new File(targetFile.toString());
BufferedReader br;
String appString = null;
try {
br = new BufferedReader(new FileReader(fileTo));
String st;
while((st=br.readLine()) != null){
System.out.println(st);
appString = st;
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return appString;
}
Я хочу передать эту строку в качестве аргумента другого метода плюс файл;Я хочу прочитать этот файл, исключая все слова, отличные от слов, которые я передал в строке.Например, в моем досье у меня есть [«Мой дом такой красивый и большой»], и я передаю строку [«красивый большой зеленый»], я должен сохранить новую строку [«красивый большой»].Я пытался с этим, но это не работает:
public String removeOtherWords(File targetFile, String excludingWords) {
ArrayList<String> excludeWordsList = new ArrayList<>();
excludeWordsList.addAll(Arrays.asList(excludingWords.split(" ")));
ArrayList<String> wordList = new ArrayList<String>();
try(Scanner sc = new Scanner(new FileInputStream(targetFile))){
while(sc.hasNext()){
for (int i = 0; i < excludeWordsList.size(); i++) {
if (sc.toString() == excludeWordsList.get(i)) {
wordList.add(sc.next());
}
}
}
sc.close();
//sc.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return wordList.toString();
}