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

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

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

11 ответов

6 просмотров

неа( относительно недавно где-то решали вопрос «а как в начало файла докинуть текс» - ответ - никак, не прочитав не получится так что придется по 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 в файл

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

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

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
всем вопрос. есть функция, которая иногда в линуксе валится с исключением EConvertError Invalid argument to date encode на строке Result:=LocalToUtcDateTime(FileDateToDateTime...
Handatros
9
И из-за этого сужается карман. Нет свободного полёта. Они либо могут какой-то заточенный прикладной софт, либо какой-то простой системный написать. По шаблону. А, допустим, по...
КТ315
9
Всем привет! Подскажите, как решить проблему или из-за чего это происходит. У меня есть проблема в WebStorm (v.2024.1.3): я ставлю любую тему, и через какое-то время меняется ...
Alexander Sheigov
12
А с каким компилятором не будет ошибкой использовать асм вставки?
Replicant ~
14
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
что насчет пагинга? на осдеве непонятно(
Vi Chapmann 🪙
26
Народ, кто шарит в расширенных разделах (EBR/EPR) на дисках с разметками MBR? Везде пишут (в вики рус/англ) в частности + другие источники смотрел, что первый сектор расширенн...
Eugene Krasnikov (ᴊɪɴ x)
1
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Карта сайта