文件系统操作
来源:互联网 发布:魔伴windows黄金账号 编辑:程序博客网 时间:2024/06/18 04:54
/** * Created on 2017/11/16. *///异步和同步// Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync()。// 异步的方法函数最后一个参数为回调函数,回调函数的第一个参数包含了错误信息(error)。var fs = require("fs");//异步读取,性能更快、没有阻塞fs.readFile('input.txt', function (err, data) { if (err) { return console.error(err); } console.log('异步读取:' + data.toString());});//同步读取var data = fs.readFileSync('input.txt');console.log("同步读取:" + data.toString());console.log("程序执行完毕");//异步打开文件 fs.open(path, flags--文件打开的行为, mode, callback)console.log("准备打开文件");fs.open('input.txt', 'r+', function (err, fd) { if (err) { return console.error(err); } console.log('文件打开成功!');});//异步获取文件信息 fs.stat(path,callback)fs.stat('index.js', function (err, stats) { //stats类:stats.isFile() stats.isDirectory() stats.isBlockDevice() stats.isCharacterDevice() //stats.isSymbolicLink() stats.isFIFO() stats.isSocket() if (err) { return console.error(err); } console.log(stats); console.log('读取文件信息成功!'); //检测文件类型 console.log("是否为文件(isFile):" + stats.isFile()); console.log("是否为目录(isDirectory):" + stats.isDirectory());});//异步写入文件(若文件存在会覆盖) fs.writeFile(file, data, options, callback)console.log("准备写入文件");fs.writeFile('input1.txt', '我是通过写入的文件内容!', function (err) { if (err) { return console.error(err); } console.log("数据写入成功!"); console.log("读取写入的数据!"); fs.readFile('input1.txt', function (err, data) { if (err) { return console.error(err); } console.log('异步读取文件数据:' + data.toString()); })});//异步读取文件 fs.read(fd--open方法返回的文件描述符, buffer, offset, length, position, callback)//关闭文件 fs.close(fd, callback)var buf = new Buffer(1024);console.log("准备打开已存在的文件!");fs.open('input.txt', 'r+', function (err, fd) { if (err) { return console.error(err); } console.log('文件打开成功!'); console.log('准备读取文件:'); fs.read(fd, buf, 0, buf.length, 0, function (err, bytes) { if (err) { console.log(err); } console.log(bytes + " 字节被读取"); //仅输出读取的字节 if (bytes > 0) { console.log(buf.slice(0, bytes).toString()); } //关闭文件 fs.close(fd, function (err) { if (err) { console.log(err); } console.log("文件关闭成功"); }); });});//截取文件 fs.ftruncate(fd, len, callback)var buf1 = new Buffer(1024);console.log('准备打开文件!');fs.open('input.txt', 'r+', function (err, fd) { if (err) { return console.error(err); } console.log("文件打开成功!"); console.log("截取10字节后的文件内容。"); //截取文件 fs.ftruncate(fd, 10, function (err) { if (err) { console.log(err); } console.log("文件截取成功。"); console.log("读取相同的文件"); fs.read(fd, buf1, 0, buf1.length, 0, function (err, bytes) { if (err) { console.log(err); } if (bytes > 0) { console.log(buf1.slice(0, bytes).toString()); } //关闭文件 fs.close(fd, function (err) { if (err) { console.log(err); } console.log('文件关闭成功!'); }); }); });});//删除文件 fs.unlink(path,callback)console.log("准备删除文件!");fs.unlink("input2.txt", function (err) { if (err) { return console.error(err); } console.log("文件删除成功!");});//创建目录 fs.mkdir(path[, mode], callback)console.log('创建目录create/');fs.mkdir("create/", function (err) { if (err) { return console.error(err); } console.log("目录创建成功。");});//读取目录 fs.readdir(path, callback)console.log("查看create目录");// "/create/":表示从当前盘符开始,去掉/,表示当前目录开始fs.readdir("create/", function (err, files) { if (err) { return console.error(err); } console.log("查看create目录成功!"); files.forEach(function (file) { console.log(file); });});//删除目录 fs.rmdir(path, callback)console.log("准备删除目录 create/");fs.rmdir("create/test/", function (err) { if (err) { return console.error(err); } console.log("读取create/目录"); fs.readdir("create/", function (err, files) { if (err) { return console.error(err); } files.forEach(function (file) { console.log(file); }) })});
阅读全文
0 0
- 操作文件系统
- 文件系统操作
- 文件系统操作
- 文件系统操作
- 文件系统操作
- 操作文件系统(1)
- java文件系统操作大全
- 文件系统操作命令
- UNIX 文件系统基本操作
- UNIX 文件系统基本操作
- UNIX 文件系统基本操作
- 文件系统基本操作
- UNIX 文件系统基本操作
- 文件系统的操作命令
- J2ME程序操作文件系统
- j2me程序操作文件系统
- J2ME程序操作文件系统
- J2ME程序操作文件系统
- 静态绑定和动态绑定
- VS Code v.s Atom-IDE:Web 开发哪家强?
- Python学习笔记(10)- 用户输入和while循环
- 服务器nginx配置问题the page you are looking for is currently unavailable
- 解决android studio被防火墙拦截问题
- 文件系统操作
- JS字符串时间比较+计算时间差
- 【软工视频】软件测试与维护
- 2017中国大学生程序设计竞赛-哈尔滨站 (B.尺取 + 二分)
- Mina 断线重连
- 用construct2制作游戏(2)
- Mac蓝牙键盘空格space与回车enter失灵问题
- 分享并记录云服务器上部署Web项目使用公网IP访问的jing
- 仿12306登录