nodejs系列(6)文件系统处理模块fs
2018-01-27 17:41
711 查看
Node.js 提供一组类似 UNIX(POSIX)标准的文件操作API。 Node 导入文件系统模块(fs)语法如下所示:var fs = require("fs");该API的主要功能包括创建目录、读写文件、重命名、删除文件等。(注)操作的文件路径可以是相对路径也可以是绝对路径,若为相对路径时,以入口文件index.js作为路径起始位置。
(注)API文档中若参数里带有[,option],均表示为可选参数,详细情况Node.js文档,这里就不标出来了。
fs.existsSync(path)
检测文件或文件夹是否存在,如果文件存在,则返回 true,否则返回 false。console.log(fs.existsSync("api")); //true|false 检测文件夹api是否存在
console.log(fs.existsSync("fs.txt")); //true|false 检测文件fs.txt是否存在
fs.mkdir(path[, mode], callback) 异步创建文件夹fs.mkdir("fsdir", function(err) {
if(err) {
console.log("文件夹已存在");
} else {
console.log("文件夹创建成功");
}
});
fs.mkdirSync(path[, mode])同步创建文件夹try {
fs.mkdirSync("fsdir");
console.log("文件夹创建成功");
} catch(e) {
console.log("文件夹已存在");
}
fs.writeFile(file, data[, options], callback) 异步创建文本文件fs.writeFile("fs.txt", "Hello World", function(err) {
if(err) {
console.log("文本创建失败");
} else {
console.log("文本创建成功");
}
});
fs.writeFileSync(file, data[, options]) 同步创建文本文件try {
fs.writeFileSync("fs.txt", "Sync Hello World");
console.log("文本创建成功");
} catch(e) {
console.log("文本创建失败");
}
fs.appendFile(file, data[, options], callback) 异步追加文本fs.appendFile("fs.txt", "追加", function(err) {
if(err) {
console.log("文本追加失败");
} else {
console.log("文本追加成功");
}
});
fs.appendFileSync(file, data[, options]) 同步追加文本try {
fs.appendFileSync("fs.txt", "同步追加");
console.log("文本追加成功");
} catch(e) {
console.log("文本追加失败");
}
fs.readFile(path[, options], callback) 异步读取文本fs.readFile("fs.txt", function(err, data) {
if(err) {
console.log("没有找到文件fs.txt");
} else {
console.log(data.toString());
}
});
fs.readFileSync(path[, options]) 同步读取文本var buf = fs.readFileSync("fs.txt");
console.log(buf.toString("utf-8"));
fs.readdir(path[, options], callback)异步读取目录内容fs.readdir("api", function(err, files) {
if(err) {
console.log("没有找到文件夹api");
} else {
for(var i = 0; i < files.length; i++) {
console.log(files[i]); // 文件名称
}
}
});
fs.readdirSync(path[, options]) 同步读取目录内容console.log(fs.readdirSync("api")); // [ 'API-Buffer.js', 'API-fs.js', 'API-path.js', 'API-url.js' ]
fs.rename(oldPath, newPath, callback)
异步重命名fs.rename('fs.txt', 'newfs.txt', function(err) {
if(err) {
console.log('重命名失败');
} else {
console.log('重命名成功');
}
});
fs.renameSync(oldPath, newPath)同步重命名try {
fs.renameSync('fs.txt', 'newfs.txt');
console.log("重命名成功");
} catch(e) {
console.log("重命名失败");
}
fs.stat(path, callback)获取文件状态,包括大小,创建时间等fs.stat('fs.txt', function(err, stat) {
if(err) {
console.log("找不到文件fs.txt");
} else {
console.log(stat);
}
});
fs.unlink(path, callback) 异步删除文件fs.unlink("fs.txt", function(err) {
if(err) {
console.log("删除失败");
} else {
console.log("删除成功");
}
});
fs.unlinkSync(path) 同步删除文件try{
fs.unlinkSync("fs.txt");
console.log("删除成功");
}catch(e){
console.log("删除失败");
}
fs.access(path[, mode], callback) 检测对文件或文件夹是否有读写的权限fs.access('api', fs.constants.R_OK | fs.constants.W_OK, function(err) {
console.log(err ? 'no access!' : 'can read/write'); // can read/write
});
fs.access('fs.txt', fs.constants.R_OK | fs.constants.W_OK, function(err) {
console.log(err ? 'no access!' : 'can read/write'); // can read/write
});
fs.watch(filename[, options][, listener])监听文件是否发生改变,移除监听使用unwatchFilefs.watch("fs.txt", function(eventType, filename) {
console.log(eventType); //change | rename
if(filename) {
console.log(filename + '发生了改变'); // fs.txt发生了改变
} else {
console.log(filename + '没有改变');
}
});
(注)API文档中若参数里带有[,option],均表示为可选参数,详细情况Node.js文档,这里就不标出来了。
fs.existsSync(path)
检测文件或文件夹是否存在,如果文件存在,则返回 true,否则返回 false。console.log(fs.existsSync("api")); //true|false 检测文件夹api是否存在
console.log(fs.existsSync("fs.txt")); //true|false 检测文件fs.txt是否存在
fs.mkdir(path[, mode], callback) 异步创建文件夹fs.mkdir("fsdir", function(err) {
if(err) {
console.log("文件夹已存在");
} else {
console.log("文件夹创建成功");
}
});
fs.mkdirSync(path[, mode])同步创建文件夹try {
fs.mkdirSync("fsdir");
console.log("文件夹创建成功");
} catch(e) {
console.log("文件夹已存在");
}
fs.writeFile(file, data[, options], callback) 异步创建文本文件fs.writeFile("fs.txt", "Hello World", function(err) {
if(err) {
console.log("文本创建失败");
} else {
console.log("文本创建成功");
}
});
fs.writeFileSync(file, data[, options]) 同步创建文本文件try {
fs.writeFileSync("fs.txt", "Sync Hello World");
console.log("文本创建成功");
} catch(e) {
console.log("文本创建失败");
}
fs.appendFile(file, data[, options], callback) 异步追加文本fs.appendFile("fs.txt", "追加", function(err) {
if(err) {
console.log("文本追加失败");
} else {
console.log("文本追加成功");
}
});
fs.appendFileSync(file, data[, options]) 同步追加文本try {
fs.appendFileSync("fs.txt", "同步追加");
console.log("文本追加成功");
} catch(e) {
console.log("文本追加失败");
}
fs.readFile(path[, options], callback) 异步读取文本fs.readFile("fs.txt", function(err, data) {
if(err) {
console.log("没有找到文件fs.txt");
} else {
console.log(data.toString());
}
});
fs.readFileSync(path[, options]) 同步读取文本var buf = fs.readFileSync("fs.txt");
console.log(buf.toString("utf-8"));
fs.readdir(path[, options], callback)异步读取目录内容fs.readdir("api", function(err, files) {
if(err) {
console.log("没有找到文件夹api");
} else {
for(var i = 0; i < files.length; i++) {
console.log(files[i]); // 文件名称
}
}
});
fs.readdirSync(path[, options]) 同步读取目录内容console.log(fs.readdirSync("api")); // [ 'API-Buffer.js', 'API-fs.js', 'API-path.js', 'API-url.js' ]
fs.rename(oldPath, newPath, callback)
异步重命名fs.rename('fs.txt', 'newfs.txt', function(err) {
if(err) {
console.log('重命名失败');
} else {
console.log('重命名成功');
}
});
fs.renameSync(oldPath, newPath)同步重命名try {
fs.renameSync('fs.txt', 'newfs.txt');
console.log("重命名成功");
} catch(e) {
console.log("重命名失败");
}
fs.stat(path, callback)获取文件状态,包括大小,创建时间等fs.stat('fs.txt', function(err, stat) {
if(err) {
console.log("找不到文件fs.txt");
} else {
console.log(stat);
}
});
fs.unlink(path, callback) 异步删除文件fs.unlink("fs.txt", function(err) {
if(err) {
console.log("删除失败");
} else {
console.log("删除成功");
}
});
fs.unlinkSync(path) 同步删除文件try{
fs.unlinkSync("fs.txt");
console.log("删除成功");
}catch(e){
console.log("删除失败");
}
fs.access(path[, mode], callback) 检测对文件或文件夹是否有读写的权限fs.access('api', fs.constants.R_OK | fs.constants.W_OK, function(err) {
console.log(err ? 'no access!' : 'can read/write'); // can read/write
});
fs.access('fs.txt', fs.constants.R_OK | fs.constants.W_OK, function(err) {
console.log(err ? 'no access!' : 'can read/write'); // can read/write
});
fs.watch(filename[, options][, listener])监听文件是否发生改变,移除监听使用unwatchFilefs.watch("fs.txt", function(eventType, filename) {
console.log(eventType); //change | rename
if(filename) {
console.log(filename + '发生了改变'); // fs.txt发生了改变
} else {
console.log(filename + '没有改变');
}
});
相关文章推荐
- NODEJS-fs模块操作文件系统
- NodeJS学习笔记之FS文件模块
- Node.js:fs文件系统模块
- 大话存储系列7——文件系统和IO处理流程
- PHP系列(九)PHP文件系统处理
- nodejs文件操作模块FS(File System)常用函数简明总结
- node.js 使用fs模块对系统文件及目录进行读写操作
- 对比JAVA学习PHP系列:应用:php的文件系统处理
- 大话存储系列7——文件系统和IO处理流程
- nodejs系列(5)网址处理模块url和路径处理模块path相关应用
- NodeJs利用fs模块,实现批量生成文件
- Node.js基本模块 fs(是文件系统模块)
- nodeJS - 5 - fs文件系统
- fs 文件模块 (一) - nodejs
- 浅谈Node.js:fs文件系统模块
- nodeJS之fs文件系统
- nodeJS之fs文件系统
- 简单的nodejs 文件系统(fs)读写
- node.js之基本文件系统模块fs
- node.js模块之fs文件系统