nodejs 中 fs.statSync 干什么用的

JavaScript025

nodejs 中 fs.statSync 干什么用的,第1张

同步版的 stat() 。

方法返回一个stat数组对象,包含以下信息:(以下信息为案例中读取的文件信息,非默认值)

{

dev : 0 ,

mode : 33206 ,

nlink : 1 ,

uid : 0 ,

gid : 0 ,

rdev : 0 ,

ino : 0 ,

size : 378(字节) ,

atime : Tue Jun 10 2014 13:57:13 GMT +0800 <中国标准时间>,

mtime : Tue Jun 13 2014 09:48:31 GMT +0800 <中国标准时间>,

ctime : Tue Jun 10 2014 13:57:13 GMT +0800 <中国标准时间>

}

语法:

fs.statSync(path)

由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) )

接收参数:

path 文件路径

例子:

var fs = require('fs')

var statInfo = fs.statSync('content.txt')

console.log(statInfo)

源码:

fs.statSync = function(path) {

nullCheck(path)

return binding.stat(pathModule._makeLong(path))

}

首先需要引入fs模块,这是nodejs自带的。

var fs=require("fs")

具体可参考Nodejs API:http://www.w3cfuns.com/tools.php?mod=booknodejs

主要用到了两个方法:

1、fs.readFile(filename, [encoding], [callback])

这是异步读取文件,filename是文件路径,encoding是编码格式,callback是回调函数。

异步读取一个文件的所有内容,例子如下:

fs.readFile('/etc/passwd', function (err, data) {

if (err) throw err

console.log(data)

})

这里我使用的是本地测试文件:

function readFile(){

console.log('--------开始读取文件--------')

var fs = require('fs')

fs.readFile('test.txt', 'utf-8', function(err, data) {

if (err) {

console.log("读取失败")

} else {

console.log(data)

return data

}

})

console.log('--------读取结束--------')

}

2、fs.writeFile(filename, data, encoding='utf8', [callback])

写文件:

function writeFile(data){

fs.writeFile("test2.txt",data,function(error){

if(error){

throw error

}else{

console.log("文件已保存")

}

})

}

错误代码:copyFile.js文件

var fs=require("fs")

function readFile(){

console.log('--------开始读取文件--------')

var fs = require('fs')

fs.readFile('test.txt', 'utf-8', function(err, data) {

if (err) {

console.log("读取失败")

} else {

console.log(data)

return data

}

})

console.log('--------读取结束--------')

}

function writeFile(data){

fs.writeFile("test2.txt",data,function(error){

if(error){

throw error

}else{

console.log("文件已保存")

}

})

}

function copyFile(){

var txt=readFile()

writeFile(txt)

}

copyFile()