码迷,mamicode.com
首页 > Web开发 > 详细

node.js文件系统

时间:2014-11-14 12:00:06      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   color   ar   os   使用   sp   

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(‘删除目录成功!‘)
    }
});

运行结果:

bubuko.com,布布扣

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

bubuko.com,布布扣

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

读取目录或文件:readdir

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

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

 bubuko.com,布布扣      

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

bubuko.com,布布扣readdir返回结果是以数组形式呈现

 

查看路径是否存在:exists

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

bubuko.com,布布扣

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

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

如果存在结果是布尔值true

bubuko.com,布布扣

 

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

 

node.js文件系统

标签:style   blog   http   io   color   ar   os   使用   sp   

原文地址:http://www.cnblogs.com/kuailingmin/p/4096709.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!