4
我試圖用代碼來讀取一個數組,並創建使用名稱作爲參數之一的文件夾,如果該名稱不存在。我一直在使用fs來做一個簡單的循環,就像這樣如何使用FS自動創建文件夾?
var streamsRepository = streamsRepositoryFactory(__dirname + '/streams.json');
var obj = streamsRepository.streams[i];
var i;
for(i = 0; i < streamsRepository.streams.length; i++) {
var obj = streamsRepository.streams[i];
console.log('Folder '+obj.key+' is Created');
if (!fs.existsSync('../audio/'+obj.key)){
fs.mkdirSync('../audio/'+obj.key);
}
}
但是每次我總是收到消息。
Folder AAAA is Created
fs.js:796
return binding.mkdir(pathModule._makeLong(path),
^
Error: ENOENT: no such file or directory, mkdir '../audio/AAAA'
不應該obj和我被聲明爲頂部的全局變量而不是for循環。 – tash
你是如何檢查錯誤的?你設置了一個try/catch嗎?嘗試做'嘗試{fs.mkdirSync(路徑); } catch(e){if(e.code!='EEXIST')throw e; }' – aug
好的,試過了。它現在告訴我 fs.js:796 回報binding.mkdir(pathModule._makeLong(路徑), ^ 錯誤:ENOENT:沒有這樣的文件或目錄,MKDIR」 ../audio/ – David