From FileUtils :
Change the features that suit your needs! But seriously, use a module instead of writing your own!
createDirectory () : creates a directory. If any of the previous directories that form the path does not exist, they are created. The default permissions are 0777.
File.prototype.createDirectory = function (cb){ if (cb) cb = cb.bind (this); if (!this._path){ if (cb) cb (NULL_PATH_ERROR, false); return; } if (!canWriteSM (this._usablePath)){ if (cb) cb (SECURITY_WRITE_ERROR, false); return; } var mkdirDeep = function (path, cb){ path.exists (function (exists){ if (exists) return cb (null, false); FS.mkdir (path.getPath (), function (error){ if (!error) return cb (null, true); var parent = path.getParentFile (); if (parent === null) return cb (null, false); mkdirDeep (parent, function (error, created){ if (created){ FS.mkdir (path.getPath (), function (error){ cb (error, !error); }); }else{ parent.exists (function (exists){ if (!exists) return cb (null, false); FS.mkdir (path.getPath (), function (error){ cb (error, !error); }); }); } }); }); }); }; mkdirDeep (this.getAbsoluteFile (), function (error, created){ if (cb) cb (error, created); }); };
createNewFile () : Creates a new file. The default permissions are 0666.
File.prototype.createNewFile = function (cb){ if (cb) cb = cb.bind (this); if (!this._path){ if (cb) cb (NULL_PATH_ERROR, false); return; } if (!canWriteSM (this._usablePath)){ if (cb) cb (SECURITY_WRITE_ERROR, false); return; } var path = this._usablePath; PATH.exists (path, function (exists){ if (exists){ if (cb) cb (null, false); }else{ var s = FS.createWriteStream (path); s.on ("error", function (error){ if (cb) cb (error, false); }); s.on ("close", function (){ if (cb) cb (null, true); }); s.end (); } }); };
source share