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

Подскажите пожалуйста по стримам и fs в ноде. Я парсю

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

11 ответов

17 просмотров

неа( относительно недавно где-то решали вопрос «а как в начало файла докинуть текс» - ответ - никак, не прочитав не получится так что придется по 2му круг стримить уже сам csv из временного файла в новый, в котором сначала пропишешь(по пути сбора в 1м прогоне) хэдеры, а потом уже и собранный контент

https://nodejs.org/api/fs.html#fscreatewritestreampath-options имеется опция start, https://nodejs.org/api/fs.html#fscreatereadstreampath-options имеются опции start и end

][_ioN ‏ 😏
https://nodejs.org/api/fs.html#fscreatewritestream...

хмм, спасибо я чет упустил из виду наличие start…

Joe Beretta
хмм, спасибо я чет упустил из виду наличие start…

Ну так стримы же, как без этого 💁‍♂️

][_ioN ‏ 😏
Ну так стримы же, как без этого 💁‍♂️

угу я вспомнил, там обсуждение было про fs.writeFile ане стримы чет даже не подумал сразу пнуть в направлении стримов, ибо «оверхед, а нам надо в относительно нежирный файл периодически писать, да и оптимизации сильной особо не надо, подождем»

Romas-Bitinas Автор вопроса
][_ioN ‏ 😏
https://nodejs.org/api/fs.html#fscreatewritestream...

Попробую, спасибо за наводку. На самом деле, выглядит подозрительно, должен быть какой-то подвох (надеюсь нет). Потому что когда я в ходе поисков всегда натыкался на инфу что препенд файла невозможен

Romas Bitinas
Попробую, спасибо за наводку. На самом деле, выгля...

Файла - хм, через ноду не приходилось, может и невозможно. Можно через bash, но команду не помню. Подвох - возможно, что при использовании start будут перезаписаны данные по этой позиции, но это не точно. В общем, проверяй аккуратно.

Romas Bitinas
Попробую, спасибо за наводку. На самом деле, выгля...

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

][_ioN ‏ 😏
Файла - хм, через ноду не приходилось, может и нев...

там в комменте написано, что флаг надо проставить на r+ (но я думал эт на чтение, крч надо освежить память по дескрипторам и и/о) >Modifying a file rather than replacing it may require the flags option to be set to r+ rather than the default w

][_ioN ‏ 😏
Файла - хм, через ноду не приходилось, может и нев...

Да, например echo -e "prepend string $(cat file.txt)" > file.txt Но по сути это переписать файл заново

Прочитать файл и записать в tmp Прочитать заголовок и записать файл Стримом дописать из tmp в файл

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта