Node.js文件操作详解:读写、创建与移动

0 下载量 192 浏览量 更新于2024-08-31 收藏 86KB PDF 举报
"这篇教程是关于Node.js的文件操作,主要涵盖了文件读写、创建、移动等基础操作。通过实例代码来讲解如何在Node.js环境中处理文件系统。" 在Node.js中,文件操作是一个核心功能,它允许开发者与本地文件系统进行交互。本教程将介绍几个关键的文件操作API,并通过示例来展示它们的使用。 一、文件操作 1.1 读取文件 在Node.js中,读取文件通常使用`fs.readFile()`方法。这个方法接受三个参数:文件路径、编码(默认为二进制,此处使用'utf-8'以读取文本文件)和一个回调函数。当文件读取完成或发生错误时,回调函数会被调用。例如,读取一个名为"data.txt"的文本文件: ```javascript var fs = require('fs'); fs.readFile('./data.txt', 'utf-8', function(err, data) { if (err) throw err; console.log(data); }); ``` 对于二进制文件,如图片,需要以二进制模式读取,并通过HTTP服务器返回给客户端。下面的代码创建了一个简单的HTTP服务器来显示图片: ```javascript var http = require('http'); var fs = require('fs'); http.createServer(function(request, response) { fs.readFile('./img/test.png', 'binary', function(err, file) { if (err) throw err; response.writeHead(200, {"Content-Type": "image/png"}); response.write(file, 'binary'); response.end(); }); }).listen(3000); console.log('Server has started'); ``` 1.2 写入文件 写入文件则使用`fs.writeFile()`方法,它接受文件路径、要写入的数据和一个回调函数。以下是如何将字符串写入到名为"test.txt"的文件中: ```javascript var fs = require('fs'); var data = '从一开始,就选择了做前端开发,因为觉得前端开发更贴近用户,能够倾听用户的声音,更好玩,更有意思,美的更直观。我们总是在尝试最新的技术,尝试更炫的效果,希望更能优化用户的体验效果!'; fs.writeFile('./test.txt', data, function(err) { if (err) throw err; console.log('文件已写入成功'); }); ``` 1.3 创建文件和目录 创建新文件可以使用`fs.writeFile()`,如果文件不存在,它会自动创建。而创建目录则使用`fs.mkdir()`,例如创建一个名为"newfolder"的目录: ```javascript fs.mkdir('./newfolder', function(err) { if (err) throw err; console.log('目录已创建'); }); ``` 1.4 移动文件和目录 移动文件或目录,我们可以使用`fs.rename()`。需要注意的是,如果目标位置已有同名文件,这个操作将覆盖原有文件。例如,将"test.txt"移动到"newfolder": ```javascript fs.rename('./test.txt', './newfolder/test.txt', function(err) { if (err) throw err; console.log('文件已移动'); }); ``` 总结,Node.js提供了丰富的文件系统操作API,包括读取、写入、创建和移动文件,这些API使得开发者能够轻松地处理本地文件系统。通过理解并熟练运用这些方法,可以实现各种复杂的文件操作需求。