Како радити са стримовима за писање у Ноде.јс?

Kako Raditi Sa Strimovima Za Pisane U Node Js



Подаци се преносе преко мреже између места извора и одредишта у облику токова. Страна пошиљаоца се назива извором, а страна примаоца је представљена као одредишни ток. Користећи ове стримове, подаци у текстуалном облику или аудио или видео формату могу се слати и примати уз минималне шансе за цурење или губитак података.

Овај водич објашњава рад са стримовима за писање у Ноде.јс.

Како радити са стримовима за писање у Ноде.јс?

могуће писати ” ток се може користити за уметање нових података у датотеку или може поставити садржај другог насумичног тока. Конверзија или постављање података се углавном дешава уз помоћ „ цев() ” метод. Овај метод чини процес конверзије и додељивања садржаја практичнијим, а истовремено смањује шансе за колизију података.







Синтакса



Стрим за писање се креира позивањем следеће методе:



фс. цреатеВритеСтреам ( 'таргетФиле.ект' ) ;

У горњој синтакси, „ цреатВритеСтреам() ” је позван од стране објекта увезеног „ фс ” модул, а датотека у коју ће бити уписани подаци се прослеђује као параметар.





Хајде да погледамо неколико примера за стримове за писање у Ноде.јс.

Пример 1: Писање садржаја друге датотеке помоћу стрима за писање

У доњем примеру, насумична датотека се шаље преко читљивог тока, а затим се овај садржај датотеке ставља у другу датотеку доступну у стрим за писање:



био фсОбј = захтевају ( 'фс' ) ;

конст ток података = фсОбј. цреатеРеадСтреам ( 'миневфиле1.ткт' ) ;

конст вритеСтреам = фсОбј. цреатеВритеСтреам ( 'миневфиле2.ткт' ) ;

ток података. цев ( вритеСтреам ) ;

Опис горњег кода:

  • Прво, „ фс ” модул се увози и његов објекат се чува у новом “ фсОбј ' променљива.
  • Затим, уз помоћ „ фасОбј ” позовите „ цреатеРеадСтреам() ” за креирање читљивог тока и проследити изабрану читљиву датотеку као њен параметар.
  • Затим, стрим за писање се креира позивањем „ цреатеВритеСтреам() ” за писање садржаја у датој датотеци.
  • Сачувајте резултате горе наведених метода у „ ток података ' и ' вритеСтреам ” променљиве респективно.
  • На крају, позовите „. цев() ” метод праћен са „ ток података “ и води са “ вритеСтреам ' Променљиве.

Сада извршите датотеку која садржи (цонтролФлов.јс) тако што ћете покренути наредбу у наставку:

Пример 2: Писање садржаја у датотеку коришћењем методе „стреам.врите()“.

У овом примеру, „ напиши() ” метода се користи за писање података преко датотеке која је доступна преко стрима за писање:

био фсОбј = захтевају ( 'фс' ) ;
конст хттпОбј = захтевају ( 'хттп' ) ;

конст сервеЛоцали = хттпОбј. цреатеСервер ( ( захтев, одговор ) => {
покушати {
конст целлСтреам = фсОбј. цреатеВритеСтреам ( 'миневфиле2.ткт' ) ;
целлСтреам. писати ( „Подаци који ће бити смештени у циљану датотеку.“ ) ;
целлСтреам. крај ( ) ;
одговор. крај ( „Подаци написани путем стрима за писање“ )
}
улов ( грешка ) {
конзола. грешка ( грешка ) ;
}
} ) ;
сервеЛоцали. слушај ( 8080 , ( ) => {
конзола. Пријава ( „Сервер ради на локалном порту број: „8080“ )
) ;

Опис горњег кода је следећи:

  • Прво, увезите потребне „ фс ' и ' хттп ” модуле и чувају њихове објекте у “ фсОбј ' и ' хттпОбј ” променљиве респективно.
  • Затим, сервер је креиран позивањем „ цреатеСервер() ” метод и чување овог новокреираног сервера у „ сервеЛоцали ' променљива.
  • Затим користите „ покушати ” блок унутар функције повратног позива метода и позовите „ цреатеВритеСтреам() ” метод који користи „ фсОбј ' променљива.
  • Проследите циљану датотеку у коју треба да се убаци садржај, унутар заграде ове методе и сачувајте резултат у „ целлСтреам ' променљива
  • Користите „ напиши() ” са овом променљивом и проследите лажну поруку унутар њене заграде која ће бити написана у циљаној датотеци.
  • Затворите ток тако што ћете позвати „ крај() ” и прикажите поруку о успеху преко веб странице позивањем „ одговор.енд() ” метод. Где ' одговор ” је параметар повратног позива за „ цреатеСервер ” метод.
  • Користите „ улов ” блок за руковање евентуалним грешкама.
  • Коначно, слушајте или подесите сервер преко броја порта “ 8080 ” и прикажите поруку о успеху уз помоћ функције повратног позива.

Генерисани излаз показује да је обезбеђени текст написан помоћу „ напиши() ” метод:

Пример 3: Писање истих података на више датотека

У овом примеру, једна датотека ће бити прочитана из тока користећи „ цреатеРеадСтреам() ” метод. Затим се прочитани садржај уписује у више датотека помоћу „ цреатеВритеСтреам() ' и ' .цев() ” методе:

био фсОбј = захтевају ( 'фс' ) ;

конст ток података = фсОбј. цреатеРеадСтреам ( 'миневфиле1.ткт' ) ;

конст вритеСтреам1 = фсОбј. цреатеВритеСтреам ( 'миневфиле2.ткт' ) ;

конст вритеСтреам2 = фсОбј. цреатеВритеСтреам ( 'усецасе.ткт' ) ;

ток података. цев ( вритеСтреам1 ) ;

ток података. цев ( вритеСтреам2 ) ;

У горњем исечку кода:

  • цреатеРеадСтреам() ” се позива и датотека чији садржај треба да се прочита се прослеђује као њен параметар. Резултат ове методе се чува у „ ток података ' променљива.
  • Затим, „ цреатеВритеСтреам() ” се позива и циљана датотека се прослеђује као њен параметар.
  • На исти начин, путања за другу датотеку се такође прослеђује као стрим за писање и резултати се чувају у „ вритеСтреам1 ' и ' вритеСтреам2 ' Променљиве.
  • Након тога, користећи „ .цев() ” метод садржај сачуван у „ ток података ” променљива је додељена „ вритеСтреам1 ' и ' вритеСтреам2 ' Променљиве.

Генерисани излаз показује да је обезбеђени садржај датотеке уметнут у обезбеђене датотеке преко токова:

То је све о раду стримова за писање у Ноде.јс.

Закључак

За рад са стримовима за писање, метод „ цреатеВритеСтреам() ” се позива преко „ фс ” објекат модула. Циљана путања датотеке на коју садржај треба да се упише се преноси као њен параметар. Да бисте написали садржај из другог тока, „ .цев() ” се користи метода. „ напиши() ” је такође од помоћи када је у питању писање садржаја директно у циљану датотеку. Овај пост је илустровао процедуру рада са стримовима за писање.