版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/TDCQZD/article/details/82182512
一、API
1、文件存在类
fs.exists(path, callback)
废弃
使用 fs.stat() 代替。
fs.existsSync(path)
path:路径
如果路径存在,则返回 true,否则返回 fals
2、fs.stat()
fs.stat(path,callback)
path:路径
callback
err
stats:文件的信息
Stats {
dev: 2114,
ino: 48064969,
mode: 33188,
nlink: 1,
uid: 85,
gid: 100,
rdev: 0,
size: 527, //文件的字节大小。
blksize: 4096, //
blocks: 8,
atimeMs: 1318289051000.1, //表示文件最后一次被访问的时间戳。
mtimeMs: 1318289051000.1,//最后一次被修改的时间戳
ctimeMs: 1318289051000.1,// 文件状态最后一次被改变的时间戳
birthtimeMs: 1318289051000.1,// 创建时间戳
atime: Mon, 10 Oct 2011 23:24:11 GMT,// 最后一次被访问的时间
mtime: Mon, 10 Oct 2011 23:24:11 GMT,// 最后一次被修改的时间。
ctime: Mon, 10 Oct 2011 23:24:11 GMT,
//文件状态最后一次被改变的时间。
birthtime: Mon, 10 Oct 2011 23:24:11 GMT//表示文件的创建时间
}
stats.isFile()
如果 fs.Stats 对象表示一个普通文件,则返回 true
stats.isDirectory()
如果 fs.Stats 对象表示一个文件系统目录,则返回 true
3、 文件删除
fs.unlink(path, callback)
回调只有一个可能的异常参数
4、目录读取
fs.readdir(path[, options], callback)
path
options
encoding 默认 = 'utf8'
callback
err
files :目录数组
5、 截断文件
fs.truncate(path[, len], callback)
path:文件路径
len:要劫成多少个字节
callback
error
完成回调只有一个可能的异常参数
6、创建文件夹
fs.mkdir(path, callback)
异步地创建目录。 完成回调只有一个可能的异常参数。
7、删除文件夹
fs.rmdir(path, callback)
回调只有一个可能的异常参数
8、 重命名文件&目录
fs.rename(oldPath, newPath, callback)
oldPath
newPath
callback
err
完成回调只有一个可能的异常参数。
9、剪切
fs.rename(oldPath, callback)
oldPath
callback
err
完成回调只有一个可能的异常参数。
10、监视 filename 的变化
fs.watchFile(filename[, options], listener)
filename <string> | <Buffer> | <URL>
options <Object>
persistent <boolean> Default: true
interval <integer> Default: 5007
listener <Function>
current <fs.Stats>
previous <fs.Stats>
回调函数会在文件发生变化时执行,回调函数执行时,会传递进行两个参数,这两个参数是stats类型的对象。
- cur 表示当前文件的状态
- pre 表示修改前文件的状态
二、代码实例:
var fs = require("fs");
/*
fs.existsSync(path)
- 检查一个文件是否存在
- 参数:
path 要检查文件的路径
- 返回值:
- 如果文件存在,则返回true, 否则返回false
*/
var result = fs.existsSync("ab.jpg");
//console.log(result);
/*
fs.stat(path, callback)
fs.statSync(path)
- 用来获取一个文件的状态
- 参数:
path 要获取状态文件的路径
callback 回调函数
err
- 错误对象
stats
- 状态对象,用来描述文件的状态
*/
/*fs.stat("a.jpg",function (err , stats) {
if(!err){
//size 文件的大小
//isFile() 是否是一个文件
//isDirectory() 是否是一个文件夹
console.log(stats.isDirectory());
}
});*/
/*
fs.unlink(path, callback)
fs.unlinkSync(path)
- 删除一个文件
*/
/*
fs.unlink("hello.txt",function (err) {
if(!err){
console.log("删除成功");
}else{
console.log(err);
}
});*/
/*
fs.readdir(path[, options], callback)
fs.readdirSync(path[, options])
- 读取当前目录下的所有文件和文件夹的列表
- 回调函数或返回值会返回一个数组,数组中保存的是当前文件夹下所有文件(夹)的名字
fs.truncate(path, len, callback)
fs.truncateSync(path, len)
- 截断文件,使文件变成指定的大小
fs.mkdir(path[, mode], callback)
fs.mkdirSync(path[, mode])
- 创建文件夹
*/
/*fs.readdir(".",function (err , files) {
if(!err){
console.log(files);
}
});*/
/*fs.truncate("hello.txt", 10, function (err) {
if(!err){
console.log("截断成功~~~");
}
});*/
//fs.mkdir("abc");
/*
删除目录
fs.rmdir(path, callback)
fs.rmdirSync(path)
重命名文件和目录
fs.rename(oldPath, newPath, callback)
fs.renameSync(oldPath, newPath)
- 参数:
oldPath 旧的路径
newPath 新的路径
callback 回调函数
- 通过该方法也可以实现剪切的功能
监视文件更改写入
fs.watchFile(filename[, options], listener)
- 监视文件的改变
*/
//fs.rmdir("abc");
/*
fs.rename("笔记.mp3","C:\\Users\\lilichao\\Desktop\\笔记.mp3",function (err) {
if(!err){
console.log("修改成功~~~");
}
});*/
//监听hello.txt文件变化
/*
回调函数会在文件发生变化时执行,回调函数执行时,会传递进行两个参数
- 这两个参数是stats类型的对象
cur 表示当前文件的状态
pre 表示修改前文件的状态
*/
fs.watchFile("hello.txt",{interval:1000},function (cur , pre ) {
//console.log("hello.txt 发生变化");
console.log("当前文件大小:"+cur.size);
console.log("修改前文件大小:"+pre.size);
});