English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NodeJS базовый учебник

NodeJS Express.js

NodeJS буфер & URL;

NodeJS MySql

NodeJS MongoDB

NodeJS файлы (FS)

Другие NodeJS

Функция Node.js FS unlink() или unlinkSync() для удаления файла

Чтобы удалить файл в Node.js, можно использовать асинхронную операцию с помощью функции Node.js FS unlink(path, callback), а также можно использовать unlinkSync(path) для синхронной операции. В этом руководстве по Node.js приведена пошаговая инструкция по удалению файла с использованием модуля fs и примерами.

Удаление файла в Node.js – unlink()

Ниже приведена пошаговая инструкция по удалению файла программным способом в Node.js:

  • Шаг 1: включите модуль файловой системы в ваш сценарий Node.js

     var fs = require('fs());

    Мы будем использовать этот модуль unlink() и его функцию unlinkSync().

  • Шаг 2: использование функции unlink() для асинхронного удаления файла. Ниже приведен синтаксис:

     fs.unlink(filePath, callbackFunction)

    После попытки удаления файла, функция обратного вызова будет вызвана с ошибкой (в качестве параметра) (если есть).

    Чтобы синхронно удалить файл, используйте функцию unlinkSync(). Ниже приведена синтаксис:

     fs.unlinkSync(filePath)

    Где:filePath — это строка, которая указывает на путь к файлу, который нужно удалить.

Пример: использование асинхронного удаления файла с помощью функции Node FS unlink()

Для этого примера убедитесь, что рядом с примером программы node.js есть файл с именем «sample.txt».

Создайте следующий сценарий Node.js, deleteFile.js, чтобы удалить файл из Node.js.

// 引入文件fs模块
var fs = require('fs'); 
 
// 删除名为“sample.txt”的文件
fs.unlink('sample.txt', function(err) { 
    if (err) throw err; 
    // 如果没有错误,则文件已成功删除
    console.log('文件已删除!'); 
 });

在终端或命令提示符下使用node命令运行程序。

终端输出

$ node deleteFile.js
文件已删除!

文件已成功删除。

示例:使用Node FS unlinkSync()函数同步删除文件

创建以下Node.js程序以同步删除Node.js中的文件。如果删除操作旁边的语句依赖于所删除的文件,这将非常有用。unlinkSync()函数确保在执行后续语句之前删除该文件(如果存在)。

// 引入文件fs模块
var fs = require('fs'); 
 
// 同步删除名为“sample.txt”的文件
fs.unlinkSync('sample.txt'); 
console.log('文件已删除!');

在终端或命令提示符下使用node命令运行程序。

终端输出

$ node deleteFileSynchronously.js
文件已删除!

文件已成功删除。

示例:指定要删除的文件不存在。(错误:ENOENT:没有这样的文件或目录)

对于此示例,请确保在node.js示例程序旁边没有名为“sample11.txt”的文件。我们将模拟条件,试图删除该位置不存在的文件。

// 引入文件fs模块
var fs = require('fs'); 
 
// 删除名为“sample.txt”的文件
fs.unlink('sample11.txt', function(err) { 
    if (err) throw err; 
    // 如果没有错误,则文件已成功删除
    console.log('文件已删除!'); 
 });

在终端或命令提示符下使用node命令运行程序。

终端输出

$ node deleteFile2.js  
/home/arjun/workspace/nodejs/deleteFile2.js:6
    if (err) throw err; 
             ^
 
错误:ENOENT:没有这样的文件或目录,删除'sample11.txt'

由于文件不存在,将引发错误,提示“无此文件或目录”。

总结

在本Node.js教程- Node FS结束之前,我们学习了如何使用Node FS(文件系统)内置模块删除Node.js中的文件。