PageSourceSearch

https://ansonznl.github.io/assets/js/v-e9e716f4.6bc2d06b.js

js ansonznl.github.io collected 2026-10-03 08:40:10 UTC 31,760 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6356],{566:(n,s,a)=>{a.r(s),a.d(s,{data:()=>p});const p={key:"v-e9e716f4",path:"/articles/Node/NodeJs%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%EF%BC%88fs%EF%BC%89%E4%B8%8E%E6%B5%81%EF%BC%88stream%EF%BC%89.html",title:"NodeJS文件系统(fs)与流(stream)",lang:"en-US",frontmatter:{},excerpt:"",headers:[{level:2,title:"文件系统(File System):",slug:"文件系统-file-system",children:[{level:3,title:"fs使用特点:",slug:"fs使用特点",children:[]},{level:3,title:"文件操作:",slug:"文件操作",children:[]},{level:3,title:"使用文件流写入",slug:"使用文件流写入",children:[]},{level:3,title:"读写文件:",slug:"读写文件",children:[]}]}],filePathRelative:"articles/Node/NodeJs文件系统(fs)与流(stream).md",git:{}}},9130:(n,s,a)=>{a.r(s),a.d(s,{default:()=>C});var p=a(6252);const t=(0,p.uE)('<h1 id="nodejs文件系统-fs-与流-stream" tabindex="-1"><a class="header-anchor" href="#nodejs文件系统-fs-与流-stream" aria-hidden="true">#</a> NodeJS文件系统(fs)与流(stream)</h1><h2 id="文件系统-file-system" tabindex="-1"><a class="header-anchor" href="#文件系统-file-system" aria-hidden="true">#</a> <strong>文件系统(File System):</strong></h2><ol><li>在Node中,文件系统的交互是非常重要的,服务器的本质就是将本地的文件发送给客户端,</li><li>Node通过fs模块来和文件系统进行交互,该模块提供了一些标准的文件访问API类打开、读取、写入文件、以及与其交互。</li><li>要是用fs模块,首先要从核心模块中加载; 使用 const fs= require(&#39;fs&#39;) ; 来引入</li></ol><h3 id="fs使用特点" tabindex="-1"><a class="header-anchor" href="#fs使用特点" aria-hidden="true">#</a> fs使用特点:</h3><ol><li>fs模块中的所有操作都有两种形式可供选择同步和异步,</li><li>同步文件系统会阻塞程序的执行,也就是除非操作完毕,否则不会向下执行代码。</li><li>异步文件系统不会阻塞程序的执行,而是在操作完成时,通过回调函数将结果返回。</li></ol><div class="language-javascript ext-js line-numbers-mode"><pre class="language-javascript"><code><span class="token comment">//1. 引入模块</span>\n<span class="token keyword">const</span> fs<span class="token operator">=</span> <span class="token function">require</span><span class="token punctuation">(</span><span class="token string">&quot;fs&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n<span class="token comment">// console.log(fs)</span>\n\n<span class="token comment">//2. 打开文件</span>\n<span class="token comment">// fs.open 异步读取(通常用异步 需设置回调函数)  </span>\n<span class="token comment">// fs.openSync 同步读取(读取时会阻塞线程)</span>\n\n<span class="token keyword">let</span> hello <span class="token operator">=</span> fs<span class="token punctuation">.</span><span class="token function">openSync</span><span class="token punctuation">(</span><span class="token string">&quot;hello.txt&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;w&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n<span class="token comment">//                     不存在会自动新建</span>\n\n<span class="token comment">//3. 写入内容</span>\nfs<span class="token punctuation">.</span><span class="token function">writeFileSync</span><span class="token punctuation">(</span>hello<span class="token punctuation">,</span><span class="token string">&#39;hello word!&#39;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n<span class="token comment">//4. 保存并退出</span>\nfs<span class="token punctuation">.</span><span class="token function">closeSync</span><span class="token punctuation">(</span>hello<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br></div></div>',6),e={href:"https://github.com/AnsonZnl/StudyNodeJS/blob/master/%E8%AF%BE%E7%A8%8B%E7%AC%94%E8%AE%B0/%E8%AF%BE%E6%97%B630-%E8%AF%BE%E6%97%B634%E7%AC%94%E8%AE%B0.md#%E8%AF%BE%E6%97%B631",target:"_blank",rel:"noopener noreferrer"},o=(0,p._)("h3",{id:"文件操作",tabindex:"-1"},[(0,p._)("a",{class:"header-anchor",href:"#文件操作","aria-hidden":"true"},"#"),(0,p.Uk)(" 文件操作:")],-1),c=(0,p._)("ol",null,[(0,p._)("li",null,[(0,p.Uk)("打开文件: "),
1(0,p._)("code",null,"fs.open(path,flags[,mode],callback)"),(0,p.Uk)(" 异步打开 异步都是回调 回调嵌套回调 "),(0,p._)("code",null,"fs.openSync(path,flags[,mode])"),(0,p.Uk)(" 同步打开")])],-1),l=(0,p.Uk)("文件标记(flags): "),u={href:"http://nodejs.cn/api/fs.html#fs_fs_open_path_flags_mode_callback",target:"_blank",rel:"noopener noreferrer"},r=(0,p.Uk)("http://nodejs.cn/api/fs.html#fs_fs_open_path_flags_mode_callback"),i=(0,p.uE)('<p>一、同步打开文件</p><div class="language-javascript ext-js line-numbers-mode"><pre class="language-javascript"><code>    <span class="token comment">//1. 引入模块 </span>\n    <span class="token keyword">let</span> fs <span class="token operator">=</span> <span class="token function">require</span><span class="token punctuation">(</span><span class="token string">&#39;fs&#39;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n    <span class="token comment">//2.打开文件 同步</span>\n    <span class="token keyword">var</span> fd<span class="token operator">=</span>fs<span class="token punctuation">.</span><span class="token function">openSync</span><span class="token punctuation">(</span><span class="token string">&#39;1.txt&#39;</span><span class="token punctuation">,</span> <span class="token string">&#39;w&#39;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n    <span class="token comment">//3.写入内容</span>\n    fs<span class="token punctuation">.</span><span class="token function">writeFileSync</span><span class="token punctuation">(</span>fd<span class="token punctuation">,</span><span class="token string">&quot;hello world!&quot;</span><span class="token punctuation">)</span><span class="token punctuation">;</span> \n\n    <span class="token comment">//4. 保存并关闭</span>\n    fs<span class="token punctuation">.</span><span class="token function">closeSync</span><span class="token punctuation">(</span>fd<span class="token punctuation">)</span><span class="token punctuation">;</span>\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br></div></div><p>二、异步打开文件</p><div class="language-javascript ext-js line-numbers-mode"><pre class="language-javascript"><code>   <span class="token comment">//1.引入模块</span>\n   <span class="token keyword">let</span> fs <span class="token operator">=</span> <span class="token function">require</span><span class="token punctuation">(</span><span class="token string">&#39;fs&#39;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n   <span class="token comment">//2. 打开文件</span>\n   fs<span class="token punctuation">.</span><span class="token function">open</span><span class="token punctuation">(</span><span class="token string">&#39;1.txt&#39;</span><span class="token punctuation">,</span> <span class="token string">&#39;a&#39;</span><span class="token punctuation">,</span> <span class="token punctuation">(</span><span class="token parameter">err<span class="token punctuation">,</span> fd</span><span class="token punctuation">)</span><span class="token operator">=&gt;</span><span class="token punctuation">{</span>\n       <span class="token comment">//2.1判断是否出错</span>\n       <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token operator">!</span>err<span class="token punctuation">)</span><span class="token punctuation">{</span>\n           <span class="token comment">//正确 2.2写入文件</span>\n           fs<span class="token punctuation">.</span><span class="token function">writeFile</span><span class="token punctuation">(</span>fd<span class="token punctuation">,</span> <span class="token string">&quot;今天天.....气真好!&quot;</span><span class="token punctuation">,</span> <span class="token punctuation">(</span><span class="token parameter">err</span><span class="token punctuation">)</span><span class="token operator">=&gt;</span><span class="token punctuation">{</span>
1\n                <span class="token comment">//2.2.1 写入成功</span>\n                <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token operator">!</span>err<span class="token punctuation">)</span><span class="token punctuation">{</span>\n                    console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&#39;写入成功&#39;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n                <span class="token punctuation">}</span><span class="token keyword">else</span><span class="token punctuation">{</span>\n                    <span class="token keyword">throw</span> err<span class="token punctuation">;</span>\n                <span class="token punctuation">}</span>\n                <span class="token comment">//2.3 关闭文件</span>\n                fs<span class="token punctuation">.</span><span class="token function">close</span><span class="token punctuation">(</span>fd<span class="token punctuation">,</span> <span class="token punctuation">(</span><span class="token parameter">err</span><span class="token punctuation">)</span><span class="token operator">=&gt;</span><span class="token punctuation">{</span>\n                    <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token operator">!</span>err<span class="token punctuation">)</span><span class="token punctuation">{</span>\n                        console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&#39;文件以保存并关闭&#39;</span><span class="token punctuation">)</span>\n                    <span class="token punctuation">}</span><span class="token keyword">else</span><span class="token punctuation">{</span>\n                        <span class="token keyword">throw</span> err<span class="token punctuation">;</span>\n                    <span class="token punctuation">}</span>\n                <span class="token punctuation">}</span><span class="token punctuation">)</span>\n           <span class="token punctuation">}</span><span class="token punctuation">)</span>\n       <span class="token punctuation">}</span><span class="token keyword">else</span><span class="token punctuation">{</span>\n           <span class="token keyword">throw</span> err<span class="token punctuation">;</span>\n       <span class="token punctuation">}</span>\n   <span class="token punctuation">}</span><span class="token punctuation">)</span>\n\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br></div></div>',4),k={href:"https://github.com/AnsonZnl/StudyNodeJS/blob/master/%E8%AF%BE%E7%A8%8B%E7%AC%94%E8%AE%B0/%E8%AF%BE%E6%97%B630-%E8%AF%BE%E6%97%B634%E7%AC%94%E8%AE%B0.md#%E8%AF%BE%E6%97%B632",target:"_blank",rel:"noopener noreferrer"},b=(0,p._)("h3",{id:"使用文件流写入",tabindex:"-1"},[(0,p._)("a",{class:"header-anchor",href:"#使用文件流写入","aria-hidden":"true"},"#"),(0,p.Uk)(" 使用文件流写入")],-1),m=(0,p.Uk)("文件流写入: "),d={href:"http://nodejs.cn/api/fs.html#fs_fs_createwritestream_path_options",target:"_blank",rel:"noopener noreferrer"},f=(0,p.Uk)("http://nodejs.cn/api/fs.html#fs_fs_createwritestream_path_options"),g=(0,p.uE)('<div class="language-javascript ext-js line-numbers-mode"><pre class="language-javascript"><code><span class="token comment">
1//同步操作</span>\n<span class="token comment">//1. 引入模块</span>\n<span class="token keyword">let</span> fs<span class="token operator">=</span> <span class="token function">require</span><span class="token punctuation">(</span><span class="token string">&#39;fs&#39;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n<span class="token comment">//2.建立通道</span>\n<span class="token keyword">let</span> ws <span class="token operator">=</span> fs<span class="token punctuation">.</span><span class="token function">createWriteStream</span><span class="token punctuation">(</span><span class="token string">&#39;fsw.txt&#39;</span><span class="token punctuation">)</span>\n\n<span class="token comment">//3.打开通道</span>\nws<span class="token punctuation">.</span><span class="token function">once</span><span class="token punctuation">(</span><span class="token string">&#39;open&#39;</span><span class="token punctuation">,</span> <span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">=&gt;</span><span class="token punctuation">{</span>\n    console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&#39;通道已经打开&#39;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n<span class="token punctuation">}</span><span class="token punctuation">)</span>\n\nws<span class="token punctuation">.</span><span class="token function">once</span><span class="token punctuation">(</span><span class="token string">&#39;close&#39;</span><span class="token punctuation">,</span> <span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">=&gt;</span><span class="token punctuation">{</span>\n    console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&#39;通道已经关闭&#39;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n<span class="token punctuation">}</span><span class="token punctuation">)</span>\n\n<span class="token comment">//4\\. 写入内容</span>\nws<span class="token punctuation">.</span><span class="token function">write</span><span class="token punctuation">(</span><span class="token string">&#39;我爱你,&#39;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\nws<span class="token punctuation">.</span><span class="token function">write</span><span class="token punctuation">(</span><span class="token string">&#39;我爱你,&#39;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\nws<span class="token punctuation">.</span><span class="token function">write</span><span class="token punctuation">(</span><span class="token string">&#39;我爱你,&#39;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br></div></div>',1),h={href:"https://github.com/AnsonZnl/StudyNodeJS/blob/master/%E8%AF%BE%E7%A8%8B%E7%AC%94%E8%AE%B0/%E8%AF%BE%E6%97%B630-%E8%AF%BE%E6%97%B634%E7%AC%94%E8%AE%B0.md#%E8%AF%BE%E6%97%B633",target:"_blank",rel:"noopener noreferrer"},E=(0,p._)("h3",{id:"读写文件",tabindex:"-1"},[(0,p._)("a",{class:"header-anchor",href:"#读写文件","aria-hidden":"true"},"#"),(0,p.Uk)(" 读写文件:")],-1),w=(0,p.Uk)("文档地址:"),_={href:"http://nodejs.cn/api/fs.html#fs_fs_readfile_path_options_callback",target:"_blank",rel:"noopener noreferrer"},y=(0,p.Uk)("http://nodejs.cn/api/fs.html#fs_fs_readfile_path_options_callback"),B=(0,p.Uk)(" 读取文档:"),v=(0,p.uE)('<div class="language-javascript ext-js line-numbers-mode"><pre class="language-javascript"><code><span class="token comment">//1. 引入模块</span>\n<span class="token keyword">let</span> fs <span class="token operator">=</span> <span class="token function">require</span><span class="token punctuation">(</span><span class="token string">&#39;fs&#39;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n<span class="token comment">//2. 读取文件</span>\nfs<span class="token punctuation">.</span><span class="token function">readFile</span><span class="token punctuation">(</span><span class="token string">&#39;source/hello.txt&#39;</span><span class="token punctuation">,</span><span class="token string">&#39;utf8&#39;</span><span class="token punctuation">,</span><span class="token punctuation">(</span><span class="token parameter">err<span class="token punctuation">,</span>data</span><span class="token punctuation">)</span><span class="token operator">=&gt;</span><span class="token punctuation">{</span>\n    <span class="token comment">
1//判断是否成功</span>\n    <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token operator">!</span>err<span class="token punctuation">)</span><span class="token punctuation">{</span>\n        console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>data<span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token comment">//</span>\n        <span class="token comment">// console.log(data.toString());</span>\n        <span class="token comment">//data 默认读取的是二进制 使用toString() 方法转换成</span>\n    <span class="token punctuation">}</span><span class="token keyword">else</span><span class="token punctuation">{</span>\n        <span class="token keyword">throw</span> err<span class="token punctuation">;</span>\n    <span class="token punctuation">}</span>\n<span class="token punctuation">}</span><span class="token punctuation">)</span>\n\n读取图片:\
1n\n<span class="token comment">//3. 读取图片</span>\nfs<span class="token punctuation">.</span><span class="token function">readFile</span><span class="token punctuation">(</span><span class="token string">&quot;source/psb.jpg&quot;</span><span class="token punctuation">,</span><span class="token punctuation">(</span><span class="token parameter">err<span class="token punctuation">,</span>data</span><span class="token punctuation">)</span><span class="token operator">=&gt;</span><span class="token punctuation">{</span>\n    <span class="token comment">//判断是否成功</span>\n    <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token operator">!</span>err<span class="token punctuation">)</span><span class="token punctuation">{</span>\n        <span class="token comment">//写入图片</span>\n        fs<span class="token punctuation">.</span><span class="token function">writeFile</span><span class="token punctuation">(</span><span class="token string">&#39;img.jpg&#39;</span><span class="token punctuation">,</span> data<span class="token punctuation">,</span> <span class="token punctuation">(</span><span class="token parameter">err</span><span class="token punctuation">)</span><span class="token operator">=&gt;</span><span class="token punctuation">{</span>\n            <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token operator">!</span>err<span class="token punctuation">)</span><span class="token punctuation">{</span>\n                console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&#39;写入成功!&#39;</span><span class="token punctuation">)</span>\n            <span class="token punctuation">}</span><span class="token keyword">else</span><span class="token punctuation">{</span>\n                <span class="token keyword">throw</span> err<span class="token punctuation">;</span>\n            <span class="token punctuation">}</span>\n        <span class="token punctuation">}</span><span class="token punctuation">)</span>\n    <span class="token punctuation">}</span><span class="token keyword">else</span><span class="token punctuation">{</span>\n        <span class="token keyword">throw</span> err<span class="token punctuation">;</span>\n    <span class="token punctuation">}</span>\n<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br><span class="line-number">33</span><br><span class="line-number">34</span><br></div></div>',1),A={href:"https://github.com/AnsonZnl/StudyNodeJS/blob/master/%E8%AF%BE%E7%A8%8B%E7%AC%94%E8%AE%B0/%E8%AF%BE%E6%97%B630-%E8%AF%BE%E6%97%B634%E7%AC%94%E8%AE%B0.md#%E8%AF%BE%E6%97%B634",target:"_blank",rel:"noopener noreferrer"},F=(0,p.uE)('<p><strong>读取视频:</strong></p><div class="language-javascript ext-js line-numbers-mode"><pre class="language-javascript"><code><span class="token comment">//1. 引入模块</span>\n<span class="token keyword">let</span> fs<span class="token operator">=</span> <span class="token function">require</span><span class="token punctuation">(</span><span class="token string">&#39;fs&#39;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n<span class="token comment">//2. 读取视频</span>\nfs<span class="token punctuation">.</span><span class="token function">readFile</span><span class="token punctuation">(</span><span class="token string">&#39;source/cddbb.mp4&#39;</span><span class="token punctuation">,</span> <span class="token punctuation">(</span><span class="token parameter">err<span class="token punctuation">,</span> data</span><span class="token punctuation">)</span><span class="token operator">=&gt;</span><span class="token punctuation">{</span>\n    <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token operator">!</span>err<span class="token punctuation">)</span><span class="token punctuation">{</span>
1\n        <span class="token comment">// 写入视频</span>\n        fs<span class="token punctuation">.</span><span class="token function">writeFile</span><span class="token punctuation">(</span><span class="token string">&#39;nmx.mp4&#39;</span><span class="token punctuation">,</span> data<span class="token punctuation">,</span> <span class="token punctuation">(</span><span class="token parameter">err</span><span class="token punctuation">)</span><span class="token operator">=&gt;</span><span class="token punctuation">{</span>\n            <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token operator">!</span>err<span class="token punctuation">)</span><span class="token punctuation">{</span>\n                console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&#39;写入成功!&#39;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n            <span class="token punctuation">}</span><span class="token keyword">else</span><span class="token punctuation">{</span>\n                <span class="token keyword">throw</span> err<span class="token punctuation">;</span>\n            <span class="token punctuation">}</span>\n        <span class="token punctuation">}</span><span class="token punctuation">)</span>\n    <span class="token punctuation">}</span><span class="token keyword">else</span><span class="token punctuation">{</span>\n        <span class="token keyword">throw</span> err<span class="token punctuation">;</span>\n    <span class="token punctuation">}</span>\n<span class="token punctuation">}</span><span class="token punctuation">)</span>\n\n<span class="token comment">//3. 流式文件的读入(批量文件处理)</span>\n<span class="token keyword">let</span> re<span class="token operator">=</span> fs<span class="token punctuation">.</span><span class="token function">createReadStream</span><span class="token punctuation">(</span><span class="token string">&#39;source/cddbb.mp4&#39;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n<span class="token comment">//建立读取流</span>\n<span class="token keyword">let</span> ws<span class="token operator">=</span> fs<span class="token punctuation">.</span><span class="token function">createWriteStream</span><span class="token punctuation">(</span><span class="token string">&#39;新建的视频.mp4&#39;</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n<span class="token comment">//建立写入流</span>\n\n<span class="token comment">//4. 创建管道</span>\nre<span class="token punctuation">.</span><span class="token function">pipe</span><span class="token punctuation">(</span>ws<span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token comment">//文件流传输</span>\nconsole<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&#39;文件流传输完成&#39;</span><span class="token punctuation">)</span>\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br></div></div>',2),S=(0,p.Uk)("参考:"),j={href:"https://www.jb51.net/article/133553.htm",target:"_blank",rel:"noopener noreferrer"},q=(0,p.Uk)("详解NodeJS文件系统fs"),x=(0,p.Uk)(" 我的GitHub总结的"),U={href:"https://github.com/AnsonZnl/StudyNodeJS",target:"_blank",rel:"noopener noreferrer"},N=(0,p.Uk)("NodeJS笔记"),C={render:function(n,s){const a=(0,p.up)("OutboundLink");return(0,p.wg)(),(0,p.iD)(p.HY,null,[t,(0,p._)("p",null,[(0,p._)("a",e,[(0,p.Wm)(a)])]),o,c,(0,p._)("p",null,[l,(0,p._)("a",u,[r,(0,p.Wm)(a)])]),i,(0,p._)("p",null,[(0,p._)("a",k,[(0,p.Wm)(a)])]),b,(0,p._)("p",null,[m,(0,p._)("a",d,[f,(0,p.Wm)(a)])]),g,(0,p._)("p",null,[(0,p._)("a",h,[(0,p.Wm)(a)])]),E,(0,p._)("p",null,[w,(0,p._)("a",_,[y,(0,p.Wm)(a)]),B]),v,(0,p._)("p",null,[(0,p._)("a",A,[(0,p.Wm)(a)])]),F,(0,p._)("p",null,[S,(0,p._)("a",j,[q,(0,p.Wm)(a)]),x,(0,p._)("a",U,[N,(0,p.Wm)(a)])])],64)}}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.