Node.js中的fs.open、fs.read、fs.write、fs.close方法;

    fs.open(path, flags[, mode], callback);
    path:被打开的文件的名字;
    flags:打开文件的方式;
         "r"    以读取模式打开;(如果文件不存在,会报错)
         "r+"   以读写模式打开;(如果文件不存在,会报错)
         "w"    以写入模式打开;(如果文件不存在,会创建新的文件)
         "w+"   以读写模式打开;(如果文件不存在,会创建新的文件)
         "a"    以追加模式打开;(如果文件不存在,会创建新的文件)
         "a+"   以读取和追加模式打开(如果文件不存在,会创建新的文件)
    callback:回调函数;有两个参数:err fd  fd表示指定的文件;
 */
var fs = require("fs");
fs.open("./xieru.txt","a+",function(err,fd){
    // console.log(err);
    // console.log(fd)
//    打开以后可以阅读、写入、再关闭;
/*
    读取打开的文件;fs.read(fd, buffer, offset, length, position, callback)
    fd:指定的文件中读取数据;
    buffer:是读取的数据将要储存在buffer中;
    offset:在buffer中开始储存的偏移量;
    length:是一个整数,要读取的字节数;
    position:指定从文件中开始读取的位置;
    callback:回调函数;有三个参数;(err, bytesRead, buffer);buffer代表读取的内容;


 */
var buf = Buffer.alloc(1024);
    fs.read(fd,buf,0,buf.length,0,function(err,bytesRead,buffer){
        console.log(err);
        console.log(bytesRead);
        console.log(buffer.toString());
    })


/*
    写入打开的文件:fs.write(fd, buffer[, offset[, length[, position]]], callback)
    写入buffer到fd指定的文件;
    offset:决定buffer中被写入的指定的位置;
    length:是一个整数,决定要写入的字节数;
    position:从文件开始写入数据的偏移量;
    callback:有三个参数(err, bytesWritten, buffer) buffer:代表要写入的内容;
 */
var buf = Buffer.from("我是要写入的内容;我是要写入的内容;我是要写入的内容;")
fs.write(fd,buf,0,buf.length,5,function(err,bytesWritten,buffer){
    console.log(err);
    console.log(bytesWritten);
    console.log(buffer.toString());
})
/*
    关闭打开的文件:fs.close(fd, callback)
 */
fs.close(fd,function(){
    console.log("操作完毕,关闭文件")
})
//    关闭完后就不能写入和读取了;


})

猜你喜欢

转载自blog.csdn.net/sunlizhen/article/details/78015529
fs