zoukankan      html  css  js  c++  java
  • node.js文件系统

    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('操作成功');
        }
    });

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

  • 相关阅读:
    odoo10 按钮点击时的弹窗提示确认消息
    odoo10 行表创建新数据时默认取值
    odoo10 关于ODOOsearch视图
    odoo10 many2one字段下拉更多选项时自定义排序方法
    变量的注释(python3.6以后的功能)
    蓝图的使用
    线程
    基础总结1
    请求上下文和应用上下文
    flask-script扩展
  • 原文地址:https://www.cnblogs.com/kuailingmin/p/4096709.html
Copyright © 2011-2022 走看看