1. 程式人生 > >Node.js中的fs.open、fs.read、fs.write、fs.close方法;

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("操作完畢,關閉檔案")
})
//    關閉完後就不能寫入和讀取了;


})