Node.js 如何使用nodejs的fs将文件写入父文件夹?
我想将文件写入当前脚本文件夹的父文件夹(有时是该父文件夹的子目录) 我应该如何写路径 这行吗Node.js 如何使用nodejs的fs将文件写入父文件夹?,node.js,Node.js,我想将文件写入当前脚本文件夹的父文件夹(有时是该父文件夹的子目录) 我应该如何写路径 这行吗 fs.writeFile(__dirname + '../sibling_dir/file.txt', 'test'); 我试过这个 fs.writeFile('../test.txt', 'test'); 真管用 写入(fd、缓冲区、偏移量、长度、位置、回调)# 将缓冲区写入fd指定的文件 偏移量和长度决定要写入的缓冲区部分 位置是指从文件开头开始写入此数据的偏移量。如果位置为空,则数据将写入当
fs.writeFile(__dirname + '../sibling_dir/file.txt', 'test');
我试过这个
fs.writeFile('../test.txt', 'test');
真管用
写入(fd、缓冲区、偏移量、长度、位置、回调)#
将缓冲区写入fd指定的文件
偏移量和长度决定要写入的缓冲区部分
位置是指从文件开头开始写入此数据的偏移量。如果位置为空,则数据将写入当前位置。见pwrite(2)
回调将有三个参数(err、write、buffer),其中write指定从缓冲区写入的字节数
请注意,在同一文件上多次使用fs.write而不等待回调是不安全的。对于此场景,强烈建议使用fs.createWriteStream
在Linux上,在追加模式下打开文件时,位置写入不起作用。内核忽略position参数,并总是将数据追加到文件的末尾。是的,这应该可以正常工作。我看到的主要问题是dirname和path之间没有
/
所以你现在拥有的更像是:
fs.writeFile('/tmp/module../sibling_dir/file.txt', 'test');
试试这个:
fs.writeFile(__dirname + '/../sibling_dir/file.txt', 'test');
如果你知道路径,另一种接近它的方式。您将在
current/index.js
中执行代码,并希望将文件创建为new/sibling\u dir/file.txt
:
。
├── 现在的
│ └── index.js
└── 新的
└── 兄弟姐妹
└── file.txt
因此,在我的情况下,我所做的是:
//在index.js中
常数fs=要求('fs');
fs.writeFile(uu dirname.replace('current','new/sibling_dir/')+'file.txt','test');
基本上用新目录替换路径中的当前目录。从另一个目录中的index.js执行此操作将在
新的/sibling_dir/file.txt中写入test
,
还可以查看路径(path.resolve将在这里帮助您)。取出\u dirname
将相对于当前工作目录而不是相对于脚本文件写入文件。