当前位置:K88软件开发文章中心编程语言JavaScriptJS02 → 文章内容

Node.js 文件系统

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-11 7:01:05

准备写入文件数据写入成功!--------我是分割线-------------读取写入的数据!异步读取文件数据:





我是通 过fs.writeFile 写入文件的内容读取文件语法以下为异步模式下读取文件的语法格式:fs.read(fd, buffer, offset, length, position, callback)该方法使用了文件描述符来读取文件。参数参数使用说明如下:fd - 通过 fs.open() 方法返回的文件描述符。buffer - 数据写入的缓冲区。offset - 缓冲区写入的写入偏移量。length - 要从文件中读取的字节数。position - 文件读取的起始位置,如果 position 的值为 null,则会从当前文件指针的位置读取。callback - 回调函数,有三个参数err, bytesRead, buffer,err 为错误信息, bytesRead 表示读取的字节数,buffer 为缓冲区对象。实例input.txt 文件内容为:k88.net官网地址:www.k88.net接下来我们创建 file.js 文件,代码如下所示:var fs = require("fs");var buf = new Buffer.alloc(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()); } });});以上代码执行结果如下:$ node file.js 准备打开已存在的文件!文件打开成功!准备读取文件:42 字节被读取k88.net官网地址:www.k88.net关闭文件语法以下为异步模式下关闭文件的语法格式:fs.close(fd, callback)该方法使用了文件描述符来读取文件。参数参数使用说明如下:fd - 通过 fs.open() 方法返回的文件描述符。callback - 回调函数,没有参数。实例input.txt 文件内容为:k88.net官网地址:www.k88.net接下来我们创建 file.js 文件,代码如下所示:var fs = require("fs");var buf = new Buffer.alloc(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); } // 仅输出读取的字节 if(bytes > 0){ console.log(buf.slice(0, bytes).toString()); } // 关闭文件 fs.close(fd, function(err){ if (err){ console.log(err); } console.log("文件关闭成功"); }); });});以上代码执行结果如下:$ node file.js 准备打开文件!文件打开成功!准备读取文件!k88.net官网地址:www.k88.net文件关闭成功截取文件语法以下为异步模式下截取文件的语法格式:fs.ftruncate(fd, len, callback)该方法使用了文件描述符来读取文件。参数参数使用说明如下:fd - 通过 fs.open() 方法返回的文件描述符。len - 文件内容截取的长度。callback - 回调函数,没有参数。实例input.txt 文件内容为:site:





www.k88.net接下来我们创建 file.js 文件,代码如下所示:var fs = require("fs");var buf = new Buffer.alloc(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, buf, 0, buf.length, 0, function(err, bytes){ if (err){ console.log(err); } // 仅输出读取的字节 if(bytes > 0){ console.log(buf.slice(0, bytes).toString()); } // 关闭文件 fs.close(fd, function(err){ if (err){ console.log(err); } console.log("文件关闭成功!"); }); }); });});以上代码执行结果如下:$ node file.js 准备打开文件!文件打开成功!截取10字节内的文件内容,超出部分将被去除。文件截取成功。读取相同的文件site:





www.r文件关闭成功删除文件语法以下为删除文件的语法格式:fs.unlink(path, callback)参数参数使用说明如下:path - 文件路径。callback - 回调函数,没有参数。实例input.txt 文件内容为:site:





www.k88.net接下来我们创建 file.js 文件,代码如下所示:var fs = require("fs");console.log("准备删除文件!");fs.unlink('input.txt', function(err) { if (err) { return console.error(err); } console.log("文件删除成功!");});以上代码执行结果如下:$ node file.js 准备删除文件!文件删除成功!再去查看 input.txt 文件,发现已经不存在了。创建目录语法以下为创建目录的语法格式:fs.mkdir(path[, options], callback)参数参数使用说明如下:path - 文件路径。options 参数可以是: recursive - 是否以递归的方式创建目录,默认为 false。mode - 设置目录权限,默认为 0777。callback - 回调函数,没有参数。实例接下来我们创建 file.js 文件,代码如下所示:var fs = require("fs");// tmp 目录必须存在console.log("创建目录 /tmp/test/");fs.mkdir("/tmp/test/",function(err){ if (err) { return console.error(err); } console.log("目录创建成功。");});以上代码执行结果如下:$ node file.js 创建目录 /tmp/test/目录创建成功。可以添加 recursive:





true 参数,不管创建的目录 /tmp 和 /tmp/a 是否存在:fs.mkdir('/tmp/a/apple', { recursive:





true }, (err) => { if (err) throw err;});读取

上一页  [1] [2] [3] [4]  下一页


Node.js 文件系统