Node.js学习(十七、FileSystem模块)
2017-03-22 20:15
423 查看
const fs = require('fs'); //监听文件变化 fs.watch('../testfile/message.txt', (eventType, filename) => { console.log(`eventType:${eventType}`); }); //在文件最后追加文本 fs.appendFile('../testfile/message.txt', 'data to append', (err) => { if(err) throw err; console.log('The "data to append" was appended to file!'); }); //修改文件权限 第二个参数mode参考http://www.jb51.net/LINUXjishu/315744.html fs.chmod('../testfile/message.txt', 700, (err) => { if(err) throw err; }); /** * * fs.chown(path, uid, gid, callback) * uid gid通过 vi /etc/passwd命令查看: * 其格式:account:password:UID:GID:GECOS:diretory:shell * account: 用户名或帐号 * password :用户密码占位符 * UID:用户的ID号 * GID:用户所在组的ID号 * GECOS:用户的详细信息(如姓名,年龄,电话等) * diretory:用户所的家目录 * shell:用户所在的编程环境 */ fs.chown('../testfile/message.txt', 1, 1, (err) => { if(err) throw err; }); //检查文件信息 stats输出如下: //{ dev: -1207626549, //mode: 33206, //nlink: 1, //uid: 0, //gid: 0, //rdev: 0, //blksize: undefined, //ino: 2814749767509699, //size: 28, (文件大小) //blocks: undefined, //atime: 2017-03-22T11:10:09.012Z, //mtime: 2017-03-22T11:26:33.323Z, //ctime: 2017-03-22T11:26:33.323Z, //birthtime: 2017-03-22T11:10:09.012Z } fs.stat('../testfile/message.txt', (err, stats) => { if(err) throw err; console.log(stats); }); //读取文件数据 data为Buffer对象 fs.readFile('../testfile/message.txt', (err, data) => { if(err) throw err; console.log(data.toString()); }); //删除文件 //fs.unlink('../testfile/message.txt', (err) => { // if(err) throw err; //}); //获取文件完整路径 data为Buffer对象 fs.realpath('../testf 93f4 ile/message.txt', (err, data) => { if(err) throw err; console.log(data.toString()); }); //下载图片保存 var http = require('http'); http.get("http://p0.so.qhmsg.com/t018224136263626b7f.jpg", function(res) { var imgData = ""; res.setEncoding("binary"); //一定要设置response的编码为binary否则会下载下来的图片打不开 res.on("data", function(chunk) { imgData += chunk; }); res.on("end", function() { fs.writeFile("../testfile/test.jpg", imgData, "binary", function(err) { if(err) { console.log("download fail"); } console.log("down success:"); }); }); }); //截取文件的一部分 //fs.open('../testfile/message.txt', 'r+', (err, fd) => { // fs.ftruncate(fd, 4, (err) => { // console.log(fs.readFileSync('../testfile/message.txt', 'utf8')); // }); // fs.close(fd); //});
相关文章推荐
- NODE.JS学习笔记——CRYPTO 加密模块
- node.js学习教程之三:模块
- node.js学习笔记(二)--使用mongoose简单的CRUD操作及测试模块mocha的使用
- node.js入门学习之url模块
- node.js学习笔记之模块调用
- Node.js学习(9)----核心模块
- Node.js学习--基础知识(4)--模块与包
- Node.js的学习历程三模块的认识
- node.js学习笔记5——核心模块1
- 从零学习node.js之模块规范(一)
- Node.js学习笔记【1】入门(服务器JS、函数式编程、阻塞与非阻塞、回调、事件、内部和外部模块)
- 【node.js学习】--(2)--模块
- Node.js学习笔记3【核心模块--event】
- 学习Node.js模块机制
- node.js学习之模块篇(转载)
- 【Node.js学习笔记1--模块 npm】
- Node.js中的模块机制学习笔记
- Node.js中的模块机制学习笔记
- Node.js学习笔记_模块调用
- Node.js学习——基本模块之fs