Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 19.02.2018
Сообщений: 48

Файлы/потоки: удалить из текстового файла первую строку, в конце которой стоит вопросительный знак

18.04.2018, 21:56. Показов 4006. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется текстовый файл. Удалить из него первую строку, в конце которой стоит вопросительный знак. Результат записать в другой файл.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.04.2018, 21:56
Ответы с готовыми решениями:

Удалить из файла первую строку, в конце которой стоит вопросительный знак
Имеется текстовый файл. Удалить из него первую строку, в конце которой стоит вопросительный знак. Результат записать в другой файл. код...

Удалить из файла первую строку, в конце которой стоит вопросительный знак
2) дан текстовый файл. удалить из него первую строку, в конце которой стоит вопросительный знак

Удалить из файла первую строку, в конце которой стоит вопросительный знак. Результат записать в другой файл
Имеется текстовый файл. Удалить из него первую строку, в конце которой стоит вопросительный знак. Результат записать в другой файл.

23
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
18.04.2018, 23:50
LittleBrain, дабу
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
        FileWriter writer = new FileWriter("output.txt", false);
        boolean flag = true;
        while (reader.ready()) {
            String temp = reader.readLine();
            System.out.println(temp);
            if ((temp.charAt(temp.length() - 1) == '?') && flag) {
                flag = false;
            } else {
                writer.write(temp + "\n");
                writer.flush();
            }
        }
    }
0
0 / 0 / 0
Регистрация: 19.02.2018
Сообщений: 48
19.04.2018, 09:39  [ТС]
iSmokeJC, он удаляет все, кроме первой строки (но у меня в первой строке даже нет знака "?")
0
 Аватар для Aviz__
2741 / 2050 / 507
Регистрация: 17.02.2014
Сообщений: 9,470
19.04.2018, 10:48
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
 
        StringBuilder sb = new StringBuilder();
 
        while (reader.ready()) {
            sb.append(reader.readLine()).append("\n");
        }
        int indexDel = sb.indexOf("?\n");
        if (indexDel != -1)
            sb.delete(0, indexDel + 2);
        FileWriter writer = new FileWriter("output.txt", false);
        writer.write(sb.toString());
        writer.flush();
    }
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
19.04.2018, 18:29
Цитата Сообщение от LittleBrain Посмотреть сообщение
он удаляет все, кроме первой строки
Прям мистика какая-то...
Миниатюры
Файлы/потоки: удалить из текстового файла первую строку, в конце которой стоит вопросительный знак  
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
19.04.2018, 18:33
Цитата Сообщение от iSmokeJC Посмотреть сообщение
+ "\n"
Так делать неправильно. Если в файле были виндовые переносы строк, то таким образом ты '\r' удалишь.
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
19.04.2018, 18:42
Оп-па! Вот где собака порылась.
korvin_, спасибо, учтемс...
0
 Аватар для Aviz__
2741 / 2050 / 507
Регистрация: 17.02.2014
Сообщений: 9,470
20.04.2018, 14:19
еще одна вариация))
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void main(String[] args) throws IOException {
        try (BufferedReader inputStream = new BufferedReader(new FileReader("input.txt"));
                PrintWriter outputStream = new PrintWriter(new FileWriter("output.txt"))) {
 
            String l;
            l = inputStream.readLine();
            if (l.indexOf('?') == l.length() - 1) {
            } else outputStream.println(l);
 
            while ((l = inputStream.readLine()) != null) {
                outputStream.println(l);
            }
        }
    }
0
0 / 0 / 0
Регистрация: 19.02.2018
Сообщений: 48
22.04.2018, 13:12  [ТС]
Aviz__, Вот результат вашей программы. file-исходный файл, copy-для результата. Что я делаю не так(((
Миниатюры
Файлы/потоки: удалить из текстового файла первую строку, в конце которой стоит вопросительный знак  
0
 Аватар для Aviz__
2741 / 2050 / 507
Регистрация: 17.02.2014
Сообщений: 9,470
22.04.2018, 13:21
Цитата Сообщение от LittleBrain Посмотреть сообщение
первую строку, в конце которой стоит вопросительный знак.
вот, что))
0
0 / 0 / 0
Регистрация: 19.02.2018
Сообщений: 48
22.04.2018, 13:24  [ТС]
Aviz__, но ничего же не удалилось...
0
 Аватар для Aviz__
2741 / 2050 / 507
Регистрация: 17.02.2014
Сообщений: 9,470
22.04.2018, 13:29
поставь в конце первой строки "?" знак, во входном файле, как написано по условию))
0
0 / 0 / 0
Регистрация: 19.02.2018
Сообщений: 48
22.04.2018, 13:33  [ТС]
Aviz__, по условию он должен удалять первую из строк, которая содержит знак вопроса. А не первую строку файла. То есть как у меня в файле, знак вопроса встречается впервые в 3 строке. И он должен удалять ТОЛЬКО 3 строку
0
 Аватар для Aviz__
2741 / 2050 / 507
Регистрация: 17.02.2014
Сообщений: 9,470
22.04.2018, 13:48
ааа, тогда, тонкости перевода)).
с учетом полученных знаний - это раз плюнуть для тебя, ща!

Добавлено через 5 минут
подсказка))
Java
1
2
3
4
5
            while ((l = inputStream.readLine()) != null) {
                l = inputStream.readLine();
                if (l.indexOf('?') == l.length() - 1) {
                } else outputStream.println(l);
            }
0
0 / 0 / 0
Регистрация: 19.02.2018
Сообщений: 48
22.04.2018, 13:52  [ТС]
Aviz__, то есть ничего особо менять не нужно, просто проверку условия засунуть в цикл while?
0
 Аватар для Aviz__
2741 / 2050 / 507
Регистрация: 17.02.2014
Сообщений: 9,470
22.04.2018, 14:02
ну, попробуй и все станет ясно))
0
0 / 0 / 0
Регистрация: 19.02.2018
Сообщений: 48
22.04.2018, 14:23  [ТС]
Aviz__, вот так он удаляет ВСЕ строки со знаком вопроса((
Миниатюры
Файлы/потоки: удалить из текстового файла первую строку, в конце которой стоит вопросительный знак  
0
 Аватар для Aviz__
2741 / 2050 / 507
Регистрация: 17.02.2014
Сообщений: 9,470
22.04.2018, 14:39
тут да, поспешил, малек((.
Java
1
2
3
4
5
            while ((l = inputStream.readLine()) != null) {
                l = inputStream.readLine();
                if (l.charAt(l.length() - 1) == '?') {
                } else outputStream.println(l);
            }
а так?
0
0 / 0 / 0
Регистрация: 19.02.2018
Сообщений: 48
22.04.2018, 15:11  [ТС]
Aviz__, Ошибки в строке с if
Exception in thread "main" java.lang.StringIndexOutOfBoundsExceptio n: String index out of range: -1
at java.base/java.lang.StringLatin1.charAt(StringLati n1.java:44)
at java.base/java.lang.String.charAt(String.java:704)
at com.company.Main.main(Main.java:12)
0
 Аватар для Aviz__
2741 / 2050 / 507
Регистрация: 17.02.2014
Сообщений: 9,470
22.04.2018, 15:23
Лучший ответ Сообщение было отмечено LittleBrain как решение

Решение

Java
1
2
3
4
5
6
7
8
9
10
11
12
public static void main(String[] args) throws IOException {
        try (BufferedReader inputStream = new BufferedReader(new FileReader("input.txt"));
             PrintWriter outputStream = new PrintWriter(new FileWriter("output.txt"))) {
            String l;
            boolean ok = false;
            while ((l = inputStream.readLine()) != null) {
                if ((l.indexOf('?') == l.length() - 1) & !ok) {
                    ok = true;
                } else outputStream.println(l);
            }
        }
    }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.04.2018, 15:23
Помогаю со студенческими работами здесь

Текстовый файл. Удалить из него первую строку, в конце которой стоит вопросительный знак
НЕмогу решить пару простых задач...НУЖНА ПОМОЩЬ!!! 10. Имеется текстовый файл. Удалить из него: б) первую строку, в конце которой...

Внесите во второй файл все строки из первого, в конце которых стоит вопросительный знак
1.В редакторе создайте два текстовых файла, внесите в каждый файл по 10 строк произвольного текста. 2.Из двух исходных файлов при помощи...

Удалить первую строку из текстового файла
Дан текстовый файл. Удалить из него первую строку. :help: Пожалуйста помогите в написании программы! Заранее большое спасибо!...

Строка: Замените первую букву в каждом втором слове на вопросительный знак...
Введите с клавиатуры строку символов. Замените первую букву в каждом втором слове на вопросительный знак и выведите результирующую...

Как удалить папку в Windows-10, в конце имени которой стоит точка?
Вопрос, собственно, в названии темы. Unlocker не помогает. Поскольку в программном обеспечении я, если не дуб, то дубок точно, больша...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru