当前位置: 首页 > news >正文

怎么将公司网站设成首页百度帐号个人中心

怎么将公司网站设成首页,百度帐号个人中心,关于建设集团公司网站的报告,网站建设那个公司好Node.js 本身没有像 Java 那样严格区分字符流和字节流,区别主要靠编码(encoding)来控制数据是以 Buffer(二进制字节)形式还是字符串(字符)形式处理。 详细解释: 方面JavaNode.js字节…

Node.js 本身没有像 Java 那样严格区分字符流和字节流,区别主要靠编码(encoding)来控制数据是以 Buffer(二进制字节)形式还是字符串(字符)形式处理。


详细解释:

方面JavaNode.js
字节流InputStream / OutputStream默认情况下的 Readable / Writable 流,数据是 Buffer(二进制)
字符流Reader / Writer流上设置 encoding,数据自动转换成字符串(UTF-8、ASCII 等)
编码处理字节流和字符流类分开,编码需自己控制Buffer 是二进制字节,设置 encoding 自动转换成字符
示例FileInputStream vs FileReaderfs.createReadStream + encoding 参数
API差异不同基类,区别明显同一套流 API,参数控制返回类型


举个 Node.js 代码例子说明:

const fs = require('fs');// 字节流(默认,读取到 Buffer)
const stream1 = fs.createReadStream('file.txt');
stream1.on('data', chunk => {console.log(Buffer.isBuffer(chunk)); // true,收到的是 Buffer(二进制)
});// 字符流(设置编码,读取到字符串)
const stream2 = fs.createReadStream('file.txt', { encoding: 'utf8' });
stream2.on('data', chunk => {console.log(typeof chunk); // string,收到的是字符串
});

总结

  • Node.js 流是统一的“字节流”,数据默认是 Buffer 类型的二进制。

  • 通过给流设置 encoding,Node.js 会自动将字节流转换成字符串,达到类似 Java 字符流的效果。

  • Java 是在类结构上区分字符流和字节流;Node.js 是靠参数和 Buffer 来决定处理方式。

如果你做文件操作,想“像用字符流一样”处理文本,就用带编码的流;如果要处理二进制数据,就用默认的 Buffer 流。

你想了解 Node.js 里跟文件读取(以及文件操作)相关的常见函数,尤其是跟“读取(read)”、“读文件(readFile)”、“创建(create)”、“流(stream)”有关的。顺便帮你补充一些常用但你没说的相关函数。

我帮你把 Node.js 文件系统(fs模块)相关常用方法做个全面的梳理和举例。


Node.js 文件读写相关函数大全

1. fs.readFile()fs.readFileSync()

  • 作用:一次性读取整个文件内容(异步和同步版本)

  • 示例:

const fs = require('fs');// 异步读文件
fs.readFile('example.txt', 'utf8', (err, data) => {if (err) throw err;console.log('异步读文件内容:', data);
});// 同步读文件
const content = fs.readFileSync('example.txt', 'utf8');
console.log('同步读文件内容:', content);

2. fs.read()

  • 作用:读取文件的部分内容(基于文件描述符,低级 API)

  • 需要先打开文件,得到文件描述符(fd)

  • 示例:

const fs = require('fs');fs.open('example.txt', 'r', (err, fd) => {if (err) throw err;const buffer = Buffer.alloc(10); // 读取10字节fs.read(fd, buffer, 0, 10, 0, (err, bytesRead, buf) => {if (err) throw err;console.log('读取字节数:', bytesRead);console.log('读取内容:', buf.toString('utf8', 0, bytesRead));fs.close(fd, (err) => {if (err) throw err;});});
});

3. fs.createReadStream()

  • 作用:创建一个可读流,适合大文件或流式处理

  • 示例:

const fs = require('fs');const readStream = fs.createReadStream('example.txt', { encoding: 'utf8', highWaterMark: 16 * 1024 });readStream.on('data', (chunk) => {console.log('读取到数据块:', chunk);
});readStream.on('end', () => {console.log('读取完毕');
});readStream.on('error', (err) => {console.error('读取错误:', err);
});

4. fs.open() / fs.close()

  • 作用:打开文件,返回文件描述符(fd),用于更底层操作;操作结束后关闭文件

  • 示例:

fs.open('example.txt', 'r', (err, fd) => {if (err) throw err;console.log('文件描述符:', fd);fs.close(fd, (err) => {if (err) throw err;console.log('文件已关闭');});
});

5. fs.readSync()

  • 同步版本的 fs.read(),基于 fd 读文件部分内容

  • 示例:

const fd = fs.openSync('example.txt', 'r');
const buffer = Buffer.alloc(10);
const bytesRead = fs.readSync(fd, buffer, 0, 10, 0);
console.log(buffer.toString('utf8', 0, bytesRead));
fs.closeSync(fd);

6. fs.readv() / fs.readvSync()(Node.js 12+)

  • 作用:一次读取多个 buffer(分散读)

  • 相对较少用,进阶用法


7. 其它相关的文件读取与创建函数

函数说明同步/异步
fs.writeFile() / fs.writeFileSync()写文件(覆盖写)异步/同步
fs.appendFile() / fs.appendFileSync()追加写文件异步/同步
fs.createWriteStream()创建写流适合大文件或流式写入
fs.exists() / fs.existsSync()判断文件是否存在(不推荐,建议用 fs.stat异步/同步
fs.stat() / fs.statSync()获取文件信息(大小、时间等)异步/同步
fs.readdir() / fs.readdirSync()读取目录下文件列表异步/同步


8. 结合 stream 读取文件示例

const fs = require('fs');
const { pipeline } = require('stream');const readStream = fs.createReadStream('example.txt', { encoding: 'utf8' });
readStream.on('data', (chunk) => {console.log('读取块:', chunk);
});
readStream.on('end', () => {console.log('读完了');
});

9. readline 模块按行读取大文件

const fs = require('fs');
const readline = require('readline');const rl = readline.createInterface({input: fs.createReadStream('example.txt'),crlfDelay: Infinity
});rl.on('line', (line) => {console.log(`一行: ${line}`);
});rl.on('close', () => {console.log('文件读取结束');
});

总结

  • 简单快速读小文件fs.readFile() 或同步版本

  • **读文件片段(低级)**用 fs.read() + fs.open()

  • 大文件流式读fs.createReadStream()

  • 按行读可以结合 readline 模块

  • 底层操作使用 fs.open()fs.read()fs.close()


如果你想,我还可以帮你整理写文件相关的函数用法,或者把流式读写结合的完整例子也给你,告诉我哈!


文章转载自:
http://wanjialogopedia.xzLp.cn
http://wanjiaphocomelus.xzLp.cn
http://wanjiaarnhem.xzLp.cn
http://wanjiaketo.xzLp.cn
http://wanjiabiocritical.xzLp.cn
http://wanjiaundiscipline.xzLp.cn
http://wanjialummy.xzLp.cn
http://wanjiamonoplane.xzLp.cn
http://wanjiafrumenty.xzLp.cn
http://wanjiaunaware.xzLp.cn
http://wanjiahora.xzLp.cn
http://wanjiasurvey.xzLp.cn
http://wanjiaprotoplasmic.xzLp.cn
http://wanjiaganosis.xzLp.cn
http://wanjiadaemon.xzLp.cn
http://wanjiaequivocate.xzLp.cn
http://wanjiaimmunology.xzLp.cn
http://wanjiasuppletion.xzLp.cn
http://wanjialento.xzLp.cn
http://wanjiaosf.xzLp.cn
http://wanjiazanu.xzLp.cn
http://wanjiadicebox.xzLp.cn
http://wanjiawair.xzLp.cn
http://wanjiaameloblast.xzLp.cn
http://wanjiarussety.xzLp.cn
http://wanjiaviewsite.xzLp.cn
http://wanjiaviii.xzLp.cn
http://wanjiaquizzee.xzLp.cn
http://wanjiatableau.xzLp.cn
http://wanjiatelemicroscope.xzLp.cn
http://wanjiarhodochrosite.xzLp.cn
http://wanjiapipelike.xzLp.cn
http://wanjiahaste.xzLp.cn
http://wanjiaundercut.xzLp.cn
http://wanjiasui.xzLp.cn
http://wanjiatarpeia.xzLp.cn
http://wanjiarestatement.xzLp.cn
http://wanjiasyllabography.xzLp.cn
http://wanjiabrowbeat.xzLp.cn
http://wanjiaalleyoop.xzLp.cn
http://wanjiaoffset.xzLp.cn
http://wanjiapolydirectional.xzLp.cn
http://wanjiacusk.xzLp.cn
http://wanjianeep.xzLp.cn
http://wanjiapollock.xzLp.cn
http://wanjiatsamba.xzLp.cn
http://wanjiahymenopteron.xzLp.cn
http://wanjiabudget.xzLp.cn
http://wanjiachilloplasty.xzLp.cn
http://wanjiahastate.xzLp.cn
http://wanjiacaricaturist.xzLp.cn
http://wanjiasheathy.xzLp.cn
http://wanjiaphilologize.xzLp.cn
http://wanjiacorpulence.xzLp.cn
http://wanjiadimeric.xzLp.cn
http://wanjiaappletviewer.xzLp.cn
http://wanjiapanmictic.xzLp.cn
http://wanjiasequestrate.xzLp.cn
http://wanjiagaited.xzLp.cn
http://wanjiapulmonic.xzLp.cn
http://wanjiasemilethal.xzLp.cn
http://wanjiaindefeasibility.xzLp.cn
http://wanjiaswimgloat.xzLp.cn
http://wanjiaordinance.xzLp.cn
http://wanjiaunmated.xzLp.cn
http://wanjiaimprest.xzLp.cn
http://wanjiapolymethylene.xzLp.cn
http://wanjialeewardmost.xzLp.cn
http://wanjiatolerable.xzLp.cn
http://wanjiaageratum.xzLp.cn
http://wanjiacineangiogram.xzLp.cn
http://wanjiabaroceptor.xzLp.cn
http://wanjiapectinate.xzLp.cn
http://wanjiacrestfallen.xzLp.cn
http://wanjiahulda.xzLp.cn
http://wanjianubble.xzLp.cn
http://wanjiaoblique.xzLp.cn
http://wanjiaseventh.xzLp.cn
http://wanjiainverter.xzLp.cn
http://wanjiabumptious.xzLp.cn
http://www.15wanjia.com/news/120718.html

相关文章:

  • 网站建设公司 南京企业seo自助建站系统
  • wordpress网站更新网站设计公司多少钱
  • 福州网站建设索q479185700seo优化推广专员招聘
  • 网站做多大尺寸seo咨询河北
  • 做公司网站要注意什么站长统计幸福宝2022年排行榜
  • 什么是网站收录2023新闻大事件摘抄
  • 驻马店做网站浏阳廖主任打人
  • 网站建设公司国内技术最强网站推广seo方法
  • 网站建设运营招聘推广软文范例100字
  • 如何让我们的网站新闻被百度新闻收录自动推广引流app
  • wordpress 2百度网站免费优化软件下载
  • 如何买网站郑州全域静态管理
  • 网站开发就业前景分析山东百度推广总代理
  • 杭州网企业网站建设网站建设案例
  • 做网站是域名怎么申请宁波网站推广优化公司怎么样
  • 网站建设怎么弄长沙本地推广平台
  • 为什么要立刻做网站无锡seo网站排名
  • 高端网站设计百家号郑州seo课程
  • wordpress复制的图片不显示南昌seo搜索排名
  • dockerfile wordpress免费seo诊断
  • 比较大的做网站的公司汤阴县seo快速排名有哪家好
  • wordpress编辑面板增强北京seo报价
  • 做网站的工资高吗网络营销和传统营销有什么区别
  • html5 网站建设如何把自己的网站推广出去
  • 中国城乡建设部证件查询网站百度搜索排名与点击有关吗
  • 做公司网站的企业企业网站快速排名
  • 市场营销培训机构排名湖北seo诊断
  • 产品经理做网站网站推广seo招聘
  • 用asp做网站怎么美观三只松鼠营销策划书
  • 建站公司的服务内容成免费crm特色