Node.js中的fs.open、fs.read、fs.write、fs.close方法;
阿新 • • 發佈:2018-11-07
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("操作完畢,關閉檔案")
})
// 關閉完後就不能寫入和讀取了;
})
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("操作完畢,關閉檔案")
})
// 關閉完後就不能寫入和讀取了;
})