【发布时间】:2018-05-08 22:37:28
【问题描述】:
我在这里查看fs.open():
https://nodejs.org/api/fs.html#fs_fs_open_path_flags_mode_callback
我想打开一个文件来读取和执行。
它给出了这些标志:
'r' - 打开文件进行读取。如果文件没有出现异常 存在。
'r+' - 打开文件进行读写。如果发生异常 文件不存在。
'rs+' - 以同步模式打开文件进行读写。 指示操作系统绕过本地文件系统缓存。
这主要用于在 NFS 挂载上打开文件,因为它允许 跳过可能陈旧的本地缓存。它有非常真实的影响 关于 I/O 性能,因此不建议使用此标志,除非它是 需要。
请注意,这不会将 fs.open() 变成同步阻塞 称呼。如果需要同步操作 fs.openSync() 应该是 用过。
'w' - 打开文件进行写入。文件已创建(如果没有 存在)或截断(如果存在)。
'wx' - 类似于 'w' 但如果路径存在则失败。
'w+' - 打开文件进行读写。文件已创建(如果 不存在)或被截断(如果存在)。
'wx+' - 类似于 'w+' 但如果路径存在则失败。
'a' - 打开文件进行追加。如果没有,则创建该文件 存在。
'ax' - 类似于 'a' 但如果路径存在则失败。
'a+' - 打开文件进行读取和附加。如果文件被创建 不存在。
'ax+' - 类似于 'a+' 但如果路径存在则失败。
我猜想读取和执行的开放是rx,但这只是一个猜测,有人确定吗?一定有它没有列出的原因?
【问题讨论】:
-
是的,正如我所怀疑的那样,我的“猜测”是错误的 - 如果我使用一个名为“rx”的虚构标志 - 我会收到这个错误 -
Error: Unknown file open flag: rx