用node.js读写文件

node.js没有二进制数据类型,却提供了类似字节数组的“流“数据类型,着一种数据类型在文件系统模块中频频出现

  • node.js打开文件
fs = require('fs');
console.log('准备打开文件');
fs.open('/etc/hosts','r+',function (err,fd) {if (err){console.log('damn~打开错误');}console.log('可以打开');fs.close(fd,function (err) {if (err){console.error(err)}console.log('顺利关闭')});
});
  • 把文件内容读入缓冲区,并把缓冲区内容解读为utf8模式,(16进制也可以哦)
fs = require('fs');
fs.open('/etc/hosts','r+',function (err,fd) {
var mybuffer = Buffer.alloc(1024);
offset=0;
len = mybuffer.length;
fileposition = null;
fs.read(fd,mybuffer,offset,len,fileposition,function(err,readByte){
console.log("可读取数据数量"+readByte);
var wuwa=mybuffer.slice(0,readByte);
console.log("缓冲区内容解读前:",wuwa);
console.log("缓冲区内容解读后:",wuwa.toString('utf8'));
});
});

输出结果:

可读取数据数量196
缓冲区内容解读前: <Buffer 31 32 37 2e 30 2e 30 2e 31 20 20 20 6c 6f 63 61 6c 68 6f 73 74 20 6c 6f 63 61 6c 68 6f 73 74 2e 6c 6f 63 61 6c 64 6f 6d 61 69 6e 20 6c 6f 63 61 6c 68 ... 146 more bytes>
缓冲区内容解读后: 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 coldspring.net taizhouwu.net mydb.net
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  • 异步读取(data仍为缓冲区)
fs = require('fs');
fs.readFile('/etc/hosts',function (err,data) {if(err){console.error(err);}console.log(data.toString('utf8'));#仍旧是buffer类型,需要转换为utf8类型
});

输出结果:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

 

转载于:https://www.cnblogs.com/saintdingspage/p/11408535.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410073.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python netsnmp_python net-snmp使用

安装环境&#xff1a;CentOS 6.6 python 2.7.101、下载安装包 net-snmp-5.6.2.1.tar.gz&#xff0c;并编译安装tar -xvf net-snmp-5.6.2.1.tar.gzcd net-snmp-5.6.2.1/configure --with-python-modules --prefix/usr/local/net-snmp --enable-developer --libdir/usr/lib64 --…

request用法_虚拟语气用法总结

虚拟语气主要指的的是带有非真实条件状语从句的复合句&#xff0c;表达的是说话人的遗憾后悔的语气&#xff0c;愿望以及建议&#xff0c;命令&#xff0c;要求等等的情感&#xff0c;往往说的是与事实相反或者没办法实现改变的东西。虚拟语气主要表现为在对过去现在或者将来的…

成为高效程序员的几大搜索技巧

对于缺乏编程知识的人来说&#xff0c;完全有可能编写一个网页或小程序。如果在用Google搜索相关示例时幸运的话&#xff0c;可以搜到现成的代码。即使是经验丰富的程序员&#xff0c;通常也会为了节省时间和精力而在网上搜索解决方案。 如果不借助搜索技术、网络及集体智慧&am…

[html] 实现九宫格布局

[html] 实现九宫格布局 <style>.container::after{content: "";display: block;clear: both;}.box{float: left;width: 32%;padding-bottom: 32%;background-color: red;margin-bottom: 1%;}.box:not(:nth-child(3n)){margin-right: 1%;}</style><div…

Nginx的应用之虚拟主机

开始前请确保selinux关闭&#xff0c;否则当配置完虚拟主机后&#xff0c;尽管权限或者网站目录都正确&#xff0c;访问的结果也是403 nginx的虚拟主机有三种方式&#xff1a; 一、基于域名的虚拟主机 &#xff08;1&#xff09;创建对应的web站点目录以及程序代码 [rootweb01 …

flink运行原理_Flink运行架构剖析

本文主要介绍 Flink Runtime 的作业执行的核心机制。首先介绍 Flink Runtime 的整体架构以及 Job 的基本执行流程&#xff0c;然后介绍Flink 的Standalone运行架构&#xff0c;最后对Flink on YARN的两种模式进行了详细剖析。Flink Runtime作业执行流程分析整体架构图Flink Run…

vb 获取系统声音的电平_质量好的背景音乐系统套装效果图

笔者是主张低阶设计的&#xff0c;但不一定是越低阶越好&#xff0c;前面已经讲过是以分而治之的手段&#xff0c;达致阴阳融合之目的。分而治之就是把高低音单元的互相不协调的部分和缺点去掉&#xff0c;保留各自的优点&#xff0c;以达到互补融合之目的。有扩声系统中才存在…

[html] 说说你对这几个概念的理解:层叠上下文、层叠等级、层叠顺序

[html] 说说你对这几个概念的理解&#xff1a;层叠上下文、层叠等级、层叠顺序 层叠上下文(stacking context)&#xff0c;是HTML中一个三维的概念。在CSS2.1规范中&#xff0c;每个盒模型的位置是三维的&#xff0c;分别是平面画布上的X轴&#xff0c;Y轴以及表示层叠的Z轴。如…

随手一记

1.在WinForm读取数据的时候经常会用到DataTable&#xff0c;而对读取的数据我们有时只想显示其中符合某些条件的数据&#xff0c;这个时候就可以使用DataTable的Select操作&#xff0c;dataTable.Select(”检查结果‘“result”’“)&#xff0c;其中检查结果是DataTable的Colu…

vue初级尝试

为了跟上前端后台化的潮流&#xff0c;本少不得不开始关注vue&#xff0c;下列上机代码是针对App.vue进行的更改 数据渲染----一般键值对&#xff0c;数组&#xff0c;对象和对象数组<template><div id"app"><img><h1>{{msg}}</h1><…

钉钉产品介绍_钉钉正式推出智能OA:免费开放、一站解决“人财物事”管理难题...

9月2日消息&#xff0c;阿里钉钉今日正式上线智能OA产品“OA审批”&#xff0c;通过开放工作流、审批流引擎&#xff0c;向中小企业提供场景全面、定制简易、操作门槛低的OA协同服务&#xff0c;实现企业管理流程、业务流程的全链路数字化&#xff0c;一站解决人财物事管理难题…

同方知网软件_国产精品软件天若OCR:支持图像识别/自动翻译/公式识别等

日常生活中有时候我们会遇到某些文件以截图方式发送的 , 想要提取其中的文字内容进行整理就需要靠识别。毕竟如果内容较多的话靠手打可能是个费时费力的事情&#xff0c;OCR识别方面的软件很多但是多数软件都是收费的。在收费软件里自然也有价格便宜和价格比较高的&#xff0c;…

[html] div等元素如何阻止点击穿透和实现点击穿透?

[html] div等元素如何阻止点击穿透和实现点击穿透&#xff1f; pointer-events: none; 允许点击穿透 阻止穿透 在js的点击事件里面添加这句话&#xff0c;阻止冒泡 event.stopPropagation();个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff…

第三天了

今天好累&#xff0c;但收获多多&#xff0c;满足。 2012.2.23图层和蒙版层的类型&#xff1a;图层&#xff0c;智能图层【一个文档里嵌入一个文档&#xff0c;双击图层后形成一个新的文档】&#xff0c;调节层&#xff1b;背景层<-->图层&#xff1a;按ALT双击背景层--&…

n维椭球体积公式_物质的量浓度公式如何应用

我们常用到的物理量一般有长度、时间、速度等等&#xff0c;物质的量也和这些概念一样&#xff0c;是一个物理量的整体名词&#xff0c;今天小编就为大家介绍一下什么是物质的量&#xff0c;物质的量的浓度公式是什么。1、国际单位制7个物理量长度(单位&#xff1a;m)、质量(单…

利用vue v-bind属性绑定bootstrap样式以及输出数据

自从知道了bootstrap&#xff0c;就被他简介&#xff0c;大气美观的样式吸引&#xff0c;即使在vue框架中&#xff0c;仍旧想使用&#xff0c;下面给出了vue适配版和原版的代码&#xff0c;以飨读者 数据输出部分export default {data(){return {pagestyle:https://v4.bootcss…

[html] 浏览器的默认字体大小是多少?怎么设计它的基准?

[html] 浏览器的默认字体大小是多少&#xff1f;怎么设计它的基准&#xff1f; 多数浏览器的默认字体大小均为16px。可设置CSS的font-size改变字体大小。 <style> html,body{ font-size: 16px; } </style> 也可设置font-size:62.5%&#xff0c;使得1rem 10px来约…

python中urframe函数的用法_python类中的内置函数

__init__():__init__方法在类的一个对象被建立时&#xff0c;马上运行。这个方法可以用来对你的对象做一些你希望的初始化。注意&#xff0c;这个名称的开始和结尾都是双下划线。代码例子:#!/usr/bin/python# Filename: class_init.pyclass Person:def __init__(self, name):se…

Hadoop中RPC机制

Hadoop中RPC机制 RPC(Remote Procedure Call Protocol)远程过程调用协议&#xff0c;它是一种通过网络从远程计算机程序上请求服务&#xff0c;而不需要了解底层网络技术的协议。Hadoop底层的交互都是通过rpc进行的。例如&#xff1a;datanode和namenode 、tasktracker和jobtra…

C++中如何读取一个数的位数_求1000以内的水仙花数

点击上方 蓝字关注我们大家好&#xff0c;我是阿汤哥。看知乎上有朋友说还不明白怎么判断水仙花数&#xff0c;今天我们就来看看这个问题。(PS&#xff1a;“求1000以内的水仙花数”这道题阿汤哥记忆犹新。到现在还记得这是我大一上学期期末考试的编程题。)怎么求水仙花数&…