用node.js读写文件

时间: 2019-07-25阅读: 120标签: 文件

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


吐血推荐

1.站长广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入...

2.休闲娱乐: 网页游戏  直播/交友   H5游戏

链接: http://www.fly63.com/article/detial/4948

原生JS使用Blob导出csv文件

最近在做关于文件下载的需求:前端调用接口,然后对返回数据进行过滤、格式化,然后按表格内容拼接生成csv文件,让用户下载。数据中存在 ‘,‘ 逗号问题处理:将整个数据用双引号(英文格式)包裹起来,这样会显示成一个单元格。

Linux下你还知道这些特殊文件?

/dev/null 可无限接收数据,你可以认为是一个黑洞,因此如果我们需要丢弃某些终端输出,可以重定向到这里:所以如果你有不需要的数据可以尽情的往这里写。

Flutter 中如何加载并预览本地的 html 文件

直接进入主题,大概步骤如下:在 assets 创建需要访问 html 文件,这里创建一个files文件夹,专门来放这些静态 html 文件.在 pubspec.yaml 中配置访问位置

使用FileSave.js将网页内容保存到文件

在写Chrome extension时候,偶尔需要将网页的内容保存到文件。要实现此功能,正常的流程是创建Blob对象存放内容,创建url,创建一个 a 标签,然后将连接与Blob对象关联并放到 a标签的href或者download(H5)属性中

微信小程序实现pdf,word等格式文件上传

目前微信提供了一个接口 wx.chooseMessageFile 它能让用户从聊天记录里面选择一个或者多个文件,然后返回它的一些信息,列入文件的path地址,文件名,文件的大小等.获取这些信息再结合微信的上传接口wx.uploadFile,即可实现文件上传.

input type=file 上传文件,同一个文件第二次上传无反应

用input file上传文件,掉用onchange方法时,多次上传同一个文件时功能失效,不会发送ajax请求,input[type=file]使用的是onchange去做,onchange监听的为input的value值,只有再内容发生改变的时候去触发

前端工程师也要掌握的几种文件路径知识

之前在做webpack配置时候多次用到路径相关内容,最近在写项目的时候,有一个文件需要上传到阿里云oss的功能,同时本地服务器也需要保留一个文件备份。多次用到了文件路径相关内容以及Node核心API的path模块

web前端以文件流的形式导出Excel文件

一般web前端处理导出文件有两种方法:其实现原理就是先把服务端返回的数据流通过URL.createObjectURL()方法转成一个URL,这个URL是存放在内存中的,URL的生命周期是和创建的它的document绑定

在不使用mv命令的情况下移动文件

有时当你需要移动一个文件时,mv 命令似乎不是最佳选项,那么你会如何做呢?不起眼的 mv 命令是在你见过的每个 POSIX 系统中都能找到的有用工具之一。它的作用是明确定义的,并且做得很好

基于Node的Axure文件在线预览

公司现在的产品Axure文档在生成好Html文件之后,都是通过git来进行管理的,每次文件更新,大家都需要从git上进行拉取,然后在本地查看,更新会出现不及时的问题,大家有时候忘记git拉取导致出现实现效果与最终产品稿不一致

fly63.com版权所有,内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权,请与小编联系!情况属实本人将予以删除!

广告赞助文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全