错误:路径必须是字符串,NodeJS读取/写入
问题描述:
我想要做的是一次读取/写入多个文件,创建文件后,只有文件内的数据会被更改。错误:路径必须是字符串,NodeJS读取/写入
代码:
var files = fs.readdirSync(__dirname+"/")
function readWrite(files) {
fs.readFile(files[i], 'utf-8', function(err, data){
if (err){
console.log(err)
}
fs.writeFile(files[i], 'test string', 'utf-8', function (err) {
if (err){
console.log("completed")
}
})
})
}
for(i in files){
readWrite(files[i])
}
的错误是很明显的“路径必须是一个字符串”,可是我怎么去一次在同一个目录下写入多个文件?
我很新的节点,所以很抱歉,如果这看起来像一个骨头问题,任何帮助将不胜感激。
答
尝试在您的功能内替换files[i]
通过files
。您应该使用变量的名称,files
(并可能将其重命名为filepath
)
之后,您是否真的想要同时读取和写入同一个文件(这是您的代码正在执行的操作)?
答
你传递文件名,所以你不应该使用[i]
为读写功能:
function readWrite(file) {
fs.readFile(file, 'utf-8', function(err, data) {
if (err) {
console.log(err)
}
fs.writeFile(file, 'test string', 'utf-8', function (err) {
if (err) {
console.log("completed")
}
})
})
}
for (i in files) {
readWrite(files[i])
}
不是你有你写它之前从文件中读取做什么?那是我至少想到的。 – Furdew