博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
node.js文件系统
阅读量:4965 次
发布时间:2019-06-12

本文共 2617 字,大约阅读时间需要 8 分钟。

FS文件系统

      第一次用这个的时候非常爽,可以在代码层编写“增删改查”文件的功能。分解里面提供的方法,接下来我们从头创建开始,最后删除文件结束,一套流程接下fs文件系统的神奇。

        要使用fs文件系统就要引用,否则无法实现功能,代码如下

//引入文件系统var fs = require('fs');

       

新建目录:mkdir

   

//引入文件系统var fs = require('fs');//创建目录fs.mkdir('./html',function(err){    if(err){        console.log(err);    }else{        console.log('创建目录成功!');    }});

第一步完成了,在当前项目中已经存在一个叫html的文件夹,当我想拿mkdir去创建单独文件是无法实现的,起结果还是一个文件夹,怎么去创建单独的文件呢?

新建文件:writeFlie

//引入文件系统var fs = require('fs');//创建文件fs.writeFile('./html/html.txt',function(err){    if(err){        console.log(err);    }else{        console.log('创建文件成功!');    }});

执行之后,在html文件夹下又多了一个html.txt类型的文件,对于上段代码可重复操作,因为它既能写又能创建文件。

接下来又要考虑一个问题,既然有文件了,但是里面内容怎么去编写,还是同一个方法,就是多了一个参数变化,从下面代码中体现。

//引入文件系统var fs = require('fs');var _txt = 'hello node.js';//创建文件fs.writeFile('./html/html.txt',_txt,function(err){    if(err){        console.log(err);    }else{        console.log('创建文件成功!');    }});

定义了一个_txt变量,放入到writeFile函数中去。这样它就可以在html.txt文件中写入新的内容了。同时这个函数也可以当做更新操作,把原文件内容重新定义。"增删改查",writeFile占据了3样功能,太喜欢这个方式了。

接下来不需这个文件的时候就需要删除操作,fs提供了一个方法

删除文件:unlink

//引入文件系统var fs = require('fs');//删除文件fs.unlink('./html/html.txt',function(err){    if(err){        console.log(err);    }else{        console.log('删除文件成功!');    }});

上面一套简单的流程走完,还有很多方法没有说,接下来一个个来:

能创建目录就能删除目录,

删除目录:rmdir (如果文件夹中存在单独文件,此操作会抛出异常)

   

//引入文件系统var fs = require('fs');//删除目录fs.rmdir('./html',function(err){    if(err){        console.log(err);    }else{        console.log('删除目录成功!')    }});

运行结果:

如果文件下还存在文件,抛异常,运行结果:

如果对文件不想任何有改动的操作,就只为读取,文件系统提供了readdir函数

读取目录或文件:readdir

//引入文件系统var fs = require('fs');//读取目录fs.readdir('./index',function(err,data){    if(err){        console.log(err);    }else{        console.log('读文件成功!'+ data);    }});

只读到文件夹层级,就会把此文件夹下的文件读取出来

       

读取到单独文件的运行结果:

readdir返回结果是以数组形式呈现

 

查看路径是否存在:exists

  首先说明下我的工程目录,看截图

我要找一下当前目录是否存在的操作:

//引入文件系统var fs = require('fs');var _path = __dirname + "/klm";//判断fs.exists(_path,function(exist){
    if(exist){
        console.log(exist + "路径存在...");     }else{
        console.log('目录路径不存在');     } });

如果存在结果是布尔值true

 

在fs文件系统也提供了同步操作:writeFileSync(同步写入),readFileSync(同步读取),mkdirSync(同步创建),这里区别就是异步I/O和同步I/O,node.js主要运用异步I/O去处理,提高响应性能,对于同步I/O看什么场景需求了。

打开文件open:

    这个方法有些特殊,它提供了几种参数方式。这些方式对于打开文件方式起到很重要的作用。

    1. “r”已读取文件方式打开

    2. "r+"已读写文件方式打开

    3. "w"已写入方式打开,如果文件不存在则自动创建

    4. “w+”已读写方式打开,如果文件不存在则自动创建 

    5. "a"已追加模式打开,如果文件不存在则自动创建

    6. “a+”已读取追加模式打开,如果文件不存在则自动创建

例子:

//引入文件系统var fs = require('fs');fs.open('./index/aa.txt','r',function(open){    if(open){        console.log(open);    }else{        console.log('操作成功');    }});

这段代码第二个参数就是设置打开模式用的。

 

转载于:https://www.cnblogs.com/kuailingmin/p/4096709.html

你可能感兴趣的文章
秋季学期学习总结
查看>>
SpringBoot 优化内嵌的Tomcat
查看>>
【LaTeX】E喵的LaTeX新手入门教程(1)准备篇
查看>>
highcharts曲线图
查看>>
extjs动态改变样式
查看>>
PL/SQL Developer 查询的数据有乱码或者where 字段名=字段值 查不出来数据
查看>>
宏定义
查看>>
ubuntu12.04 串口登录系统配置
查看>>
笔记:git基本操作
查看>>
生成php所需要的APNS Service pem证书的步骤
查看>>
JavaWeb之JSON
查看>>
HOT SUMMER 每天都是不一样,积极的去感受生活 C#关闭IE相应的窗口 .
查看>>
windows平台上编译mongdb-cxx-driver
查看>>
optionMenu-普通菜单使用
查看>>
MVC3分页传2参
查看>>
2016-2017-2点集拓扑作业[本科生上课时]讲解视频
查看>>
appium(13)- server config
查看>>
IIS负载均衡-Application Request Route详解第六篇:使用失败请求跟踪规则来诊断ARR...
查看>>
管理信息系统 第三部分 作业
查看>>
[Leetcode Week13]Search a 2D Matrix
查看>>