var market = fs.readdirSync(__dirname+"/c/")
console.log(market)
for(i in market){
console.log(market[i]) // <----- shows contents of folder
fs.readFile(market[i],'utf-8',function(err,data){
console.log(data) // <---- retruns undefined
})
}
因此,我认为这样做会容易得多,但显然我在某个地方搞砸了。
如您所见,
console.log(market[i])
显示了文件夹的内容,但是如果我尝试阅读它们,我只会返回“ undefined”,那么有人知道为什么会发生这种情况吗?我正在尝试读取每个文件的数据,基本上稍后我将要存储它并发送它,但这现在不是问题,更大的问题是它甚至没有从文件:U中读取数据。 最佳答案
您需要提供readFile
的完整路径,而readdirSync
仅返回文件名,因此正确的代码应为:
var market = fs.readdirSync(__dirname+"/c/")
console.log(market)
for(i in market){
console.log(market[i]) // <----- shows contents of folder
fs.readFile(__dirname + "/c/" + market[i],'utf-8',function(err,data) {
console.log(data) // <---- retruns undefined
})
}
关于javascript - NodeJS FS不从多个文件返回数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36948477/