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

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

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

11 ответов

14 просмотров

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

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

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

У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
что за асемблер кста?
Shvabrikk Nya
19
Добрый день! Пробую отловить исключение EConvertError: function _TryTextToDouble(var DoubleVar: Extended; Text: String): Boolean; begin try DoubleVar := StrToFloat...
Kirill Filippenok
19
А где @Grinyaha уважаемый пропал?
Am Ambrion
14
Сделал краткий обзор магазина из статьи и заодно там же записал инструкцию по развёртыванию. https://www.youtube.com/watch?v=8-sE1vNk95Q (чё думаете по звуку? кое-что поменял...
Andrey K
17
Привет, коллеги! Возникла задача ограничить максимальный размер вложений для определённых расширений, например, чтобы для изображений лимит был 10 МБ, а для видео — 100 МБ. Ог...
Andro
1
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
вот не понимаю, зачем вообще лезть в осдев, если даже базы не знаешь? хотя бы про загрузку, форматы файлов железо какое-никакое. Ну реально, даже зная работу железа, с условны...
Mixail Frolov
7
Можно ли ставить FPC транк, а Лазарь нет?
А Андрей
9
Shadow Akira ты откуда инфу черпаешь?
One
9
Карта сайта