nodejs学习历程(二)

fs模块

要使用fs模块,需要先引入fs

var fs=require('fs');

1.fs.stat 检测时文件还是目录

fs.stat("index.txt",function(err,stats){
    if(err){
        console.log("错误"+err);
        return false;
    }
    console.log('文件:'+stats.isFile());
    console.log('目录'+stats.isDirectory());
    
})

2.fs.mkdir 创建目录
接收参数
path 将创建的文件目录
mode 目录权限(读写权限),默认0777
callback 回调,传递异常参数err

fs.mkdir("fs_module/css",function(err){
    if(err){
        console.log(err);
        return false;
    }
    console.log("创建文件成功");
    
})
  1. fs.writeFile() 创建写入文件
    filename (string) 文件名称
    data (string | buffer) 将要写入的内容,可以使字符串或buffer数据
    options (Object) option数组对象,包含:
    .emcoding (string) 可选值,默认‘utf-8’ ,当data使buffer时,该值应该为ignored
    .mode (Number) 文件读写权限,默认值43
    .flag (string) 默认值‘w’
    callback(function) 回调,传递一个异常参数err
fs.writeFile('fs_module/t.txt',"你好node2222ssss","utf-8",function(err){
    if(err){
        console.log(err);
        return false;
    }
    console.log("创建文件成功");
})

4.fs.appendFile() 追加文件

fs.appendFile('fs_module/t1.txt',"你好,这是写入的文件","utf-8",function(err){
        if(err){
            console.log(err);
            return false;
        }
        console.log("创建文件成功");
    })

5.fs.readFile() 读取文件

fs.readFile('fs_module/t1.txt',function(err,data){
    if(err){
        console.log(err);
        return false;
    }
    console.log(data.toString());
    
})

6.fs.readdir读取目录,把目录下面的文件和文件夹都获取到

fs.readdir('fs_module/html',function(err,data){
    if(err){
        console.log(err);
        return false;
    }
    console.log(data);
    
})

7.fs.rename 重命名

fs.rename('fs_module/html/index.txt','fs_module/html/new.txt',function(err){
    if(err){
        console.log(err);
        
    }
})

8.fs.rmdir 删除目录

fs.rmdir('fs_module/t',function(err){
        if(err){
            console.log(err);
            
        }
    })

9.fs.unlink删除文件

fs.unlink('fs_module/t.txt',function(err){
        if(err){
            console.log(err);
            
        }
    }) 

流的方式读取文件

var readStream=fs.createReadStream("fs_module/index.txt");
var str='';
var count=0;
readStream.on('data',function(chunk){
    str+=chunk;
    count++;
})
// 读取完成
readStream.on('end',function(chunk){
    console.log(count);
    console.log(str)
})
readStream.on('error',function(err){
    console.log(err);
})

创建一个可以写入的流,写入到文件output.txt中

var data="创建一个可以写入的流,写入到文件output.txt中";
var writeStream=fs.createWriteStream("fs_module/copy.txt");
writeStream.write(data,'utf-8');
//标记写入完成
writeStream.end();
writeStream.on("finish",function(){
    console.log('写入完成');
})
writeStream.on("error",function(){
    console.log('写入失败');
})

管道流

var readStream=fs.createReadStream("fs_module/index.txt");
var writeStream=fs.createWriteStream("fs_module/copy.txt");
// 管道读取操作
// 读取index.txt文件内容,并将内容写入到copy.txt文件中
readStream.pipe(writeStream);

`

猜你喜欢

转载自blog.csdn.net/qq_41288833/article/details/89311693