nodejs學習(一)讀檔案,寫檔案,檔案資訊
阿新 • • 發佈:2019-02-11
1、瀏覽器中的js全域性物件是window。
但是在node中,全域性物件是global。
2、process是node.js的一個物件,它代表當前node.js的程序。
process.nextTick(function() {
console.log('next callback!');
})
console.log("nextTick was set");
nextTick,下一輪事件迴圈中呼叫。
3、fs是nodejs中讀取檔案的內建模組
非同步讀取:
var fs = require('fs');
fs.readFile('sample.txt', 'utf-8' , function (err, data) {
if (err) {
console.log(err);
} else {
console.log(data);
}
});
Buffer型別和String型別轉換。
讀取二進位制流的檔案,如果不傳入”utf-8”檔案編碼,data引數就會返回一個Buffer物件。
轉換的方法:
var text = data.toString(“utf-8”);
var data = new Buffer(text,”utf-8”);
其中text就代表String,而data就代表Buffer物件。
同步讀取:
"use strict"
var fs = require("fs");
var data = fs.readFileSync("sample.txt","utf-8");
console.log(data);
寫入檔案:
"use strict"
var fs = require("fs");
var data = "mapbar_front 全棧"
fs.writeFile("output.txt",data,function(err){
if(err){
console.log(err);
}else{
console.log("file writes sucess!!" )
}
})
獲取檔案資訊
"use strict"
var fs = require("fs");
var data = "hello world";
var text = fs.readFileSync("sample.txt","utf-8");
//text = JSON.parse(text);
data = text + data;
fs.writeFileSync("output.txt",data);
fs.stat("sample.txt",function(err,stat){
console.log("isFile",stat.isFile());
console.log("isDirectory",stat.isDirectory());
if(stat.isFile()){
console.log("file size",stat.size);
console.log('birthtime',stat.birthtime);
console.log('modified time',stat.mtime)
}
})
stat是fs物件用於獲取檔案資訊的函式
stat有幾個原型屬性和方法。
分別是isFile(), isDirectory(), size, birthtime, mtime.
同步獲取檔案資訊的方法:
"use strict"
var fs = require("fs");
var info = fs.statSync("sample.txt");