node fs模块创建一个新文件

使用fs模块创建一个文件,比如为public/statement/out.txt,但是statement这个目录并没有,我直接使用:

fs.createWriteStream('public/statement/out.txt')

提示错误信息为没有这个的目录。我该怎么办呢?

阅读 16.2k
1 个回答

写一个创建目录的函数,如

var createFolder = function(to) { //文件写入
    var sep = path.sep
    var folders = path.dirname(to).split(sep);
    var p = '';
    while (folders.length) {
        p += folders.shift() + sep;
        if (!fs.existsSync(p)) {
            fs.mkdirSync(p);
        }
    }
};

在调用fs.createWriteStream前先调用createFolder,如

createFolder('/publis/statemenet/out.txt');
fs.createWriteStream('public/statement/out.txt')
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题