JavaRush /Курсы /Java Syntax Pro Beta /Дополнительные лекции к уровню

Дополнительные лекции к уровню

Java Syntax Pro Beta
16 уровень , 8 лекция
Открыта

java.io

На этом уровне мы разобрали потоки ввода и вывода и познакомились с их методами. Если чувствуете, что тема Java/IO для вас еще не закрыта, можем продолжить разговор и разобрать несколько примеров применения. Ничего сложного: читайте статью "Ввод-вывод в Java. Классы FileInputStream, FileOutputStream, BufferedInputStream".

java.nio

Начиная с Java 7 создатели языка решили изменить работу с файлами и каталогами. Смотрите статью: "Files, Path".


16
Опрос
Потоки ввода-вывода, 16 уровень, 8 лекция
Недоступен
Потоки ввода-вывода
Потоки ввода-вывода
Комментарии (243)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Dmitry Gisinov Уровень 17
24 октября 2025
Дааа.... жёсткая тема, придётся пару раз её пройти. Ну ничего, помучаемся и всё получится, как говорится)
Anonymous #3585174 Уровень 33
16 июля 2025
Like
invoker main Уровень 42
22 сентября 2025
все еще изучаешь после 30-ого лвла? а что, если не секрет? мультипоточность ?
Anonymous #3585174 Уровень 33
30 сентября 2025
да, стартанул мультипоточность, но пока параллельно ревью java syntax и java core, пытаюсь закрепить пройденный материал через квизы с ии
invoker main Уровень 42
30 сентября 2025
понял, а после что планируешь? я вот щас думаю закончить джава кор, после мультипоточность вот, дальше бд и уже на спринг переходить.
Evgeny Уровень 25
4 июня 2025
Практическая задача для закрепления Задача: Анализатор текстовых файлов Создайте программу, которая анализирует текстовые файлы и выводит статистику: Количество строк Количество слов Количество символов (включая пробелы) Количество символов (без пробелов) Самые часто встречающиеся слова (топ-5) Требования: Программа должна принимать путь к файлу в качестве аргумента командной строки Используйте BufferedReader для чтения файла Для подсчета слов разбивайте строки по пробелам и знакам препинания Для хранения статистики по словам используйте HashMap Результаты выводите в консоль и дополнительно сохраняйте в новый файл с именем analysis_<оригинальное_имя_файла>
Aura Уровень 23
5 июня 2025
Ай тигр! Спасибо за задачу, хоть и решил ее не до конца, ведь в душе не имею понятия, как без потока, который мы будем изучать на уровне Лямбда-выражений, отфильтровать слова и сделать из них топ 5 при помощи мапы, но наколхозил нормально так. Интересно взглянуть на иное решение, чтоб увидеть, насколько сильно я опозорился таким колоссальным решением.

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Path path = Path.of(sc.nextLine());
        try (InputStream input = Files.newInputStream(path);
             Reader reader = new InputStreamReader(input);
             BufferedReader buffer = new BufferedReader(reader);
             Writer writer = new FileWriter("C:\\..\\..\\..\\..\\src\\test2")) {
            List<String> list = new ArrayList<>();
            String line;
            int countLines = 0;
            while ((line = buffer.readLine()) != null) {
                list.add(line);
                countLines++;
            }
            int countWords = 0;
            int countLetters = 0;
            int countLettersWithoutSpace = 0;
            for (String str : list) {
                countLetters += str.length();
                String[] strings = str.split("[ ,]+");
                countWords += strings.length;
                for (String s : strings) {countLettersWithoutSpace += s.length();}

            }
            System.out.println(list);
            System.out.println("Lines: " + countLines);
            System.out.println("Words: " + countWords);
            System.out.println("Letters: " + countLetters);
            System.out.println("Letters without SpaceBar: " + countLettersWithoutSpace);
            writer.write("Lines - " + countLines + "\nWords - " + countWords + "\nLetters - " + countLetters + "\nLetters without spase - " + countLettersWithoutSpace);
        } catch (Exception ignore) {
        }
    }
Aura Уровень 23
5 июня 2025
Я показал нейронке условия и свой код и был полит такой тонной дерьма, что вовек не отмоюсь
Exaltyr777 Уровень 25
25 июля 2025
Я не нейронка, поэтому мне твой код понравился 😁 особенно regex. а с Exception ignore вообще проиграл. P.S. условия задачи я не читал =)
Виктор Уровень 21
11 августа 2025
Тоже попробовал сделать), но сюда не помещается)) на 2800 знаков получилось без пробелов.
22 апреля 2025
Подскажите мне пожалуйста, где в этом коде мы открываем поток для чтения и записи?

         Path path = Path.of("D:\\Java\\TestText\\test1.txt");
         List<String> lines = Files.readAllLines(path);
         Files.write(path, "Hello!".getBytes(StandardCharsets.UTF_8));
         
         for (String s : lines) {
             System.out.println(s);
         }
Agent_Pandora Уровень 26
23 апреля 2025
сначала получили путь/ потом считали оттуда данные в лист потом перезаписали эти данные строкой hello а ниже выводим данные ДО перезаписи
Сергей Сак Уровень 16
16 июля 2025
Внутри метода Files.readAllLines(path); открывается поток для чтения. Аналогично с методом Files.write(path, "Hello!".getBytes(StandardCharsets.UTF_8));. Внутри него открывается поток для записи.
31 марта 2025
я после этого уровня уверовал
Aleksandr Bobrus Уровень 3
17 марта 2025
После такого уровня, я в отпуск и запой)) Нужно все переварить и пройти по теме со свежей головой))
Danya Уровень 17
4 мая 2025
Молодец Александр так держать,но мне кажется что уже пора выходить с запоя а то чет уже май месяц на дворе а ты с 17 марта на 17 уровне)
Agent_Pandora Уровень 26
11 февраля 2025
Потоки ) день 3/ сегодня я дошел до конца этого уровня/дочитав все лекции(а перед ними еще кучу более понятных статей и разобрал более 20 задач разной сложности с gpt), который кстати вообще выручает отлично(Пользуйтесь им, просите рассказать код детально, что делает каждый метод и тд). В голове конечно чуть каша) инфы много, но интересно на самом деле было. Завтра начинаю решать задачи этого уровня/ Пы Сы - это для себя потоки потоки потоки потокии
Agent_Pandora Уровень 26
16 февраля 2025
.7 день/ с уровнем в целом закончено/ еще что то надо будет почитать и порешать где нибудь на стороне для закрепления
Aleksandr Bobrus Уровень 3
17 марта 2025
Как успехи с 16 ур, разобрался?
Agent_Pandora Уровень 26
17 марта 2025
да, тема на самом деле интересная и не прям сложная , просто тут хреново подали ее, для закрепления можно создать мини проект, по работе с файлами , тогда вообще хорошо будет
22 апреля 2025
Каким GPT пользуетесь?
Agent_Pandora Уровень 26
23 апреля 2025
в данный момент тык
Денис Кокшаров Уровень 32
6 февраля 2025
к этому уровню обязательно добавить чтение проф литературы, желательно из разных источников Философия Java Java Полное руководство как до материал просто супеор ложится, после джаварашевской подачи, взрыхлившей почву, просто то, что доктор прописал
Денис Кокшаров Уровень 32
6 февраля 2025
10/10 с первого раза, вопросы с подковыркой конечно, но если вдуматься, то решить можно
Victor Уровень 36
6 февраля 2025
С 5 раза только угадал вот это • Метод write(int) объекта Writer записывает в поток 2 байта, а материи не прибавилось.