嗨, 大家好: 网站在新年后正式开通,欢迎大家加入我们,共同维护一个良好氛围的中国技术社区。 欢迎举报不良帖子,欢迎提供建议。
我们的QQ群:136102234,欢迎进群找答案,里边会有很多资深的大师们。 365体育投注平台

Node.js 提供一组类似 UNIX(POSIX)标准的文件操作API。 Node 导入文件系统模块(fs)语法如下所示:

var fs = require("fs")

提问了 2016-07-05 09:20:39

jkant's gravatar image

jkant ??
11135138139
采纳率: 3%


12下一页 ?

异步和同步

Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync()

异步的方法函数最后一个参数为回调函数,回调函数的第一个参数包含了错误信息(error)。

建议大家是用异步方法,比起同步,异步方法性能更高,速度更快,而且没有阻塞

永久链接

已回答 2016-07-05 09:21:10

jkant's gravatar image

jkant ??
11135138139
采纳率: 3%

举例:

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("程序执行完毕。");

永久链接

已回答 2016-07-05 09:23:09

jkant's gravatar image

jkant ??
11135138139
采纳率: 3%

打开文件

语法 以下为在异步模式下打开文件的语法格式: fs.open(path, flags[, mode], callback)

参数 参数使用说明如下:
path - 文件的路径。
flags - 文件打开的行为。具体值详见下文。
mode - 设置文件模式(权限),文件创建默认权限为 0666(可读,可写)。
callback - 回调函数,带有两个参数如:callback(err, fd)。

flags 参数可以是以下值:
Flag 描述
r 以读取模式打开文件。如果文件不存在抛出异常。
r+ 以读写模式打开文件。如果文件不存在抛出异常。
rs 以同步的方式读取文件。
rs+ 以同步的方式读取和写入文件。
w 以写入模式打开文件,如果文件不存在则创建。
wx 类似 'w',但是如果文件路径存在,则文件写入失败。
w+ 以读写模式打开文件,如果文件不存在则创建。
wx+ 类似 'w+', 但是如果文件路径存在,则文件读写失败。
a 以追加模式打开文件,如果文件不存在则创建。
ax 类似 'a', 但是如果文件路径存在,则文件追加失败。
a+ 以读取追加模式打开文件,如果文件不存在则创建。
ax+ 类似 'a+', 但是如果文件路径存在,则文件读取追加失败。

永久链接

已回答 2016-07-05 09:24:38

jkant's gravatar image

jkant ??
11135138139
采纳率: 3%

获取文件信息

语法

以下为通过异步模式获取文件信息的语法格式:
fs.stat(path, callback)
参数
参数使用说明如下:
path - 文件路径。
callback - 回调函数,带有两个参数如:(err, stats), stats 是 fs.Stats 对象。
fs.stat(path)执行后,会将stats类的实例返回给其回调函数。可以通过stats类中的提供方法判断文件的相关属性。例如判断是否为文件:
var fs = require('fs');

fs.stat('/Users/liuht/code/itbilu/demo/fs.js', function (err, stats) { console.log(stats.isFile()); //true })

stats类中的方法有:
方法 描述
stats.isFile() 如果是文件返回 true,否则返回 false。
stats.isDirectory() 如果是目录返回 true,否则返回 false。
stats.isBlockDevice() 如果是块设备返回 true,否则返回 false。
stats.isCharacterDevice() 如果是字符设备返回 true,否则返回 false。
stats.isSymbolicLink() 如果是软链接返回 true,否则返回 false。
stats.isFIFO() 如果是FIFO,返回true,否则返回 false。FIFO是UNIX中的一种特殊类型的命令管道。
stats.isSocket() 如果是 Socket 返回 true,否则返回 false。

永久链接

已回答 2016-07-05 09:25:31

jkant's gravatar image

jkant ??
11135138139
采纳率: 3%

已编辑 2016-07-05 09:26:05

写入文件

语法 以下为异步模式下写入文件的语法格式:

fs.writeFile(filename, data[, options], callback)

如果文件存在,该方法写入的内容会覆盖旧的文件内容。

参数
参数使用说明如下:
path - 文件路径。
data - 要写入文件的数据,可以是 String(字符串) 或 Buffer(流) 对象。
options - 该参数是一个对象,包含 {encoding, mode, flag}。默认编码为 utf8, 模式为 0666 , flag 为 'w'
callback - 回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。

永久链接

已回答 2016-07-05 09:28:19

jkant's gravatar image

jkant ??
11135138139
采纳率: 3%

读取文件 语法
以下为异步模式下读取文件的语法格式:

fs.read(fd, buffer, offset, length, position, callback)

该方法使用了文件描述符来读取文件。

参数
参数使用说明如下:
fd - 通过 fs.open() 方法返回的文件描述符。
buffer - 数据写入的缓冲区。
offset - 缓冲区写入的写入偏移量。
length - 要从文件中读取的字节数。
position - 文件读取的起始位置,如果 position 的值为 null,则会从当前文件指针的位置读取。
callback - 回调函数,有三个参数err, bytesRead, buffer,err 为错误信息, bytesRead 表示读取的字节数,buffer 为缓冲区对象。

永久链接

已回答 2016-07-05 09:28:48

jkant's gravatar image

jkant ??
11135138139
采纳率: 3%

关闭文件

语法
以下为异步模式下关闭文件的语法格式:

fs.close(fd, callback)

该方法使用了文件描述符来读取文件。

参数 参数使用说明如下:
fd - 通过 fs.open() 方法返回的文件描述符。
callback - 回调函数,没有参数。

永久链接

已回答 2016-07-05 09:29:16

jkant's gravatar image

jkant ??
11135138139
采纳率: 3%

截取文件

语法

以下为异步模式下截取文件的语法格式:

fs.ftruncate(fd, len, callback)

该方法使用了文件描述符来读取文件。

参数
参数使用说明如下:
fd - 通过 fs.open() 方法返回的文件描述符。
len - 文件内容截取的长度。
callback - 回调函数,没有参数。

永久链接

已回答 2016-07-05 09:29:47

jkant's gravatar image

jkant ??
11135138139
采纳率: 3%

删除文件

语法
以下为删除文件的语法格式:
fs.unlink(path, callback)

参数

参数使用说明如下:
path - 文件路径。
callback - 回调函数,没有参数。

永久链接

已回答 2016-07-05 09:30:12

jkant's gravatar image

jkant ??
11135138139
采纳率: 3%

创建目录

语法 以下为创建目录的语法格式:
fs.mkdir(path[, mode], callback)

参数 参数使用说明如下:
path - 文件路径。
mode - 设置目录权限,默认为 0777。
callback - 回调函数,没有参数。

永久链接

已回答 2016-07-05 09:30:39

jkant's gravatar image

jkant ??
11135138139
采纳率: 3%

你的回答
切换预览

关注这个问题

邮件:

登录之后,你可以在这里订阅任何更新。

RSS:

回答

回答和评论

Markdown基本语法

  • *italic* or _italic_
  • **bold** or __bold__
  • 链接:[文本](http://url.com/ "标题")
  • 图片?![alt 文本](/path/img.jpg "标题")
  • 编号列表: 1. Foo 2. Bar
  • 如果想要换行,只需要在前一行结尾处插入2个空格即可。
  • 支持基本HTML标记

问题365棋牌怎么才能赢钱_365棋牌苹果版怎么下载不了_365棋牌错误代码:

×24
×1

已提出的问题: 2016-07-05 09:20:39

问题浏览量: 8,059 次

最后更新: 2016-07-05 09:32:11