dashabushik1
@dashabushik1

BufferedWriter, почему не срабатывает метод write?

Условие задачи: В каждой строке найти слова, начинающиеся с гласной буквы.
Вот мой код:
import java.io.*;
import java.util.ArrayList;
import java.util.List;

public class Main {

    public static void main(String[] args) throws IOException {
        String file = "/Users/daryabushik/Desktop/files/task3.txt";
        String outputTask3 = "/Users/daryabushik/Desktop/files/outputTask3.txt";
        List<String> lines = new ArrayList<>();
        List<String> words = new ArrayList<>();

        try {
            BufferedReader reader = new BufferedReader(new FileReader(file));
            BufferedWriter writer = new BufferedWriter(new FileWriter(outputTask3));
            String line;
            while ((line = reader.readLine()) != null) {
                lines.add(line);
                for (String currentLine : lines) {
                    for (String word : currentLine.toLowerCase().split("[\\s,.!?]+")) {
                        if (word.substring(0, 1).matches("[aeiouy]")) {
                            words.add(word);
                            writer.write(words.toString());             // вот здесь не записывает
                        }
                    }
                }
            }
            writer.close();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        System.out.println(words);
    }
}

Подскажите, почему не записываются найденные слова в файл?
  • Вопрос задан
  • 72 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Krokochik
После записи добавьте
writer.flush();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы