Считать с консоли имя файла.
Вывести в консоль все строки из файла, которые содержат всего 2 слова из списка words.
Закрыть потоки.
Пример:
words содержит слова А, Б, В
Строки:
В Б А Д //3 слова из words, не подходит
Д А Д //1 слово из words, не подходит
Д А Б Д //2 слова — подходит, выводим
Требования:
1. Класс Solution должен содержать публичное статическое поле words типа List, которое должно быть сразу проинициализировано.
2. Класс Solution должен содержать статический блок, в котором добавляются три слова в список words.
3. Программа должна считывать имя файла с консоли (используй BufferedReader).
4. BufferedReader для считывания данных с консоли должен быть закрыт.
5. Программа должна считывать содержимое файла (используй FileReader).
6. Поток чтения из файла (FileReader) должен быть закрыт.
7. Программа должна выводить в консоль все строки из файла, которые содержат всего 2 слова из списка words.
Вот так ругается на FileReader:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
reader.close();
StringBuilder sb = new StringBuilder();
for (String s : words) {
sb.append(s.trim()).append("|");
}
Pattern p = Pattern.compile(sb.substring(0, sb.length() - 1));
FileReader fileReader = new FileReader(fileName);
BufferedReader reader1 = new BufferedReader(fileReader);
Вот так ругается на FileReader + BufferedReader:
StringBuilder sb = new StringBuilder();
for (String s : words) {
sb.append(s.trim()).append("|");
}
Pattern p = Pattern.compile(sb.substring(0, sb.length() - 1));
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
reader.close();
FileReader fileReader = new FileReader(fileName);
BufferedReader reader1 = new BufferedReader(fileReader);
А вот так - проходит на ура:
StringBuilder sb = new StringBuilder();
for (String s : words) {
sb.append(s.trim()).append("|");
}
Pattern p = Pattern.compile(sb.substring(0, sb.length() - 1));
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
reader.close();
FileReader fileReader = new FileReader(fileName);
BufferedReader reader1 = new BufferedReader(fileReader);