Очень полезны при написание скриптов на Node.js, но крайне НЕ РЕКОМЕНДУЕТСЯ в серверных приложениях.
Узелки на память.
Список комманд
- fs.existsSync(path) — Проверить существование файла
- fs.mkdirSync(path[, mode]) — создать каталог
- fs.rmdirSync(path) — удалить каталог
- fs.unlinkSync(path) — удалить файл
- fs.readdirSync(path[, options]) — список файлов\подкаталогов в каталоге
- fs.mkdtempSync(prefix[, options]) — Создать временный каталог
- fs.writeFileSync(file, data[, options]) — создает новый файл или перезаписывает существующий
- fs.appendFileSync(file, data[, options]) — дописать данные в конец файла
- fs.readFileSync(file[, options]) — прочитать содержимое файла
- fs.renameSync(oldPath, newPath) — переименовать файл
- fs.lstatSync(path) — Информация о файле
- fs.openSync(path, flags[, mode]) — открыть файл. Описание режимов ниже
- fs.readSync(fd, buffer, offset, length, position) — побайтово прочитать файл открытый через fs.openSync
- path.basename — получить имя файла
- path.dirname — получить каталог из полного пути
- path.extname — получить расширение файла
Режимы открытия файла:
- ‘w‘ — Открыть файл для записи. Создается если нету или обрезается до нулевой длинны если есть.
- ‘wx‘ — Тоже что и ‘w’, но вызывает исключение если файл есть.
- ‘w+‘ — Открыть для чтения и записи. Файл создается если его не было или обрезается до нулевого если есть.
- ‘wx+‘ — Тоже что и ‘w+’, но вызывает исключение если файл есть.
- ‘a‘ — Открыть файл для добавления. Файл создается его не было.
- ‘ax‘ — Тоже что и ‘a’, но вызывает исключение если файл есть.
- ‘a+‘ — Открыть для чтения и добавления. Файл создается если его не было.
- ‘ax+‘ — Тоже что и ‘a+’, но вызывает исключение если файл есть.
Абстрактный пример
var fs = require("fs"); // Проверить существование каталога if (!fs.existsSync("temp")) { fs.mkdirSync("temp"); // Создали каталог } var tempDir = fs.mkdtempSync("temp/tmp-"); // Временный каталог var workFile = tempDir + '/test.txt'; fs.writeFileSync(workFile, "Hello word"); // Записали в файл в текст fs.appendFileSync(workFile, "!!!"); // Добавили в конец файла var content = fs.readFileSync(workFile, 'utf8'); // Полностью прочитать содержимое файла // Информация по файлу var inf = fs.lstatSync(workFile); inf.isDirectory() ? console.log("это директория") : undefined; inf.isFile() ? console.log("это файл") : undefined; console.log("Создан: ", inf.birthtime); console.log("Последнее обращение: ", inf.atime); console.log("Последнее изменение: ", inf.mtime); fs.renameSync(workFile, tempDir + '/test999.txt'); // Переименовать файл var listDir = fs.readdirSync("temp/"); // Список каталогов for (var i = 0, len = listDir.length; i < len; i++) { tempDir = "temp/" + listDir[i] + "/"; listFile = fs.readdirSync(tempDir); for (numFile in listFile) { var temFile = tempDir + listFile[numFile]; fs.unlinkSync(temFile); // Удалили файл } fs.rmdirSync(tempDir); // Удалили каталог }