170 похожих чатов

Считать весь файл сделать replace и записать весь файл?

18 ответов

26 просмотров

считать каждую строку, делать в ней реплейс и записывать куда надо, как вариант реплейс делать только в строках в которых в теории возможно наличие того что нужно заменить

dimonovdd- Автор вопроса
Сергей
считать каждую строку, делать в ней реплейс и запи...

это понятно, как изменить то конкретную строку?

dimonovdd
это понятно, как изменить то конкретную строку?

берешь исходный файл, читаешь строку, меняешь в ней что нужно, пишешь в другой файл

dimonovdd
это понятно, как изменить то конкретную строку?

Менять "на месте", без считывания целиком или временного файла вы сможете вменяемо только если ваша замена не меняет длины строк. Если то, что вы вставляете длиннее или короче заменяемого, вас ждёт увлекательный процесс перечитки и перезаписи всех байтов после замены

dimonovdd- Автор вопроса
SomebodyOdd
Менять "на месте", без считывания целиком или врем...

да это понятно, но даже со временным файлом без полного считываня что-то непонятно как

dimonovdd
да это понятно, но даже со временным файлом без по...

Прочитали строку, поменяли, записали в новый файл. Повторять, пока не удовлетворены. Если у вас замены на уровне отдельных строк, вам подойдёт

dimonovdd- Автор вопроса
Сергей
берешь исходный файл, читаешь строку, меняешь в не...

абстрактный алгоритм то понятен. но как это корректно сделать

dimonovdd
абстрактный алгоритм то понятен. но как это коррек...

это не абстрактный алгоритм) это практически псевдокод

dimonovdd- Автор вопроса
SomebodyOdd
Прочитали строку, поменяли, записали в новый файл....

а потом в любом случае все строки придется читать и писать во второй файл

dimonovdd- Автор вопроса

ну около 5 мб файл. я чет просто до конца верил что есть какие-то уже готовые варинаты которые занимаются сами той любовью со смещением байтов

dimonovdd- Автор вопроса
dimonovdd
ну около 5 мб файл. я чет просто до конца верил чт...

просто это некая костыль msbuild таска и надо чтобы она быстренько выполнялася

dimonovdd
просто это некая костыль msbuild таска и надо чтоб...

ты потратил больше времени на поиск "правильного" пути, чем если бы просто попробовал накидать код и замерить время выполнения

dimonovdd
ну около 5 мб файл. я чет просто до конца верил чт...

5 мб? Я не уверен, что служебные вещи дотнета меньше чем это.

dimonovdd
Не совсем понял

Считайте в память и не парьтесь

dimonovdd- Автор вопроса

ну так и оставил, но почему-то я так верил что это весьма типовая задача и под это есть какое-то готовое супер решение. Я просто последний раз с файлами на лабах в универе работал

dimonovdd
ну так и оставил, но почему-то я так верил что это...

Ну готовые ридеры и врайтеры вполне себе решение, а уж как это все использовать слишком сильно зависит от каждой конкретной ситуации

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта