This article is mainly written for students who are new to node.js. This article mainly introduces the file module of nodejs. Through the file module of nodejs, we can create, read, Modifying and deleting files or folders on our operating system can also be run on a Linux server. Because nodejs is a cross-platform JavaScript running environment. [Recommended learning: "nodejs Tutorial"]
Nodejs File System official document: https://nodejs.org/dist/latest-v14.x/docs/api/fs.html
Source code: https://github.com/cmdfas/nodejs-file-system
├── files │ ├── file1 │ └── file2 ├── dir.js ├── index-callback.js ├── index-promise.js └── stream.js
Createindex-callback.js
, the code is as follows
const fs = require('fs') const path = require('path') // 读取文件 fs.readFile(path.join(__dirname, 'files', 'file1'), (err, buf) => { if (err) throw err console.log(buf.toString()) }) // 写入文件 fs.writeFile(path.join(__dirname, 'files', 'file3'), '欢迎光临', (err) => { if (err) throw err console.log('写入完成') // 在文件末尾追加 fs.appendFile(path.join(__dirname, 'files', 'file3'), '\n\n男宾三位', (err) => { if (err) throw err console.log('追加完成') // 修改文件名称 fs.rename(path.join(__dirname, 'files', 'file3'), path.join(__dirname, 'files', 'file3-rename'), (err) => { if (err) throw err console.log('改名完成') }) }) })
Summary:
readFile
is used Read the content of the file. After the reading is successful, the callback function returns the buffer format, so you need to call the toString() method writeFile
to write the content into the file, if the file does not exist The file will be automatically created appendFile
Appends the content at the end of the file. If the file does not exist, the file will be automatically created rename
Can be used to modify the file name path.join
is used to join file paths, which can avoid the problem of different path formats in different operating systems __dirname
is a node.js global variable , the default is the current project directoryCreateindex-promise.js
, the code is as follows
const fsPromises = require('fs').promises const path = require('path') const fileFunc = async () => { try { const data = await fsPromises.readFile(path.join(__dirname, 'files', 'file1')) console.log(data.toString()) await fsPromises.unlink(path.join(__dirname, 'files', 'file1')) await fsPromises.writeFile(path.join(__dirname, 'files', 'file5'), data) await fsPromises.appendFile(path.join(__dirname, 'files', 'file5'), '\n\n欢迎光临') await fsPromises.rename(path.join(__dirname, 'files', 'file5'), path.join(__dirname, 'files', 'file5-rename')) const newData = await fsPromises.readFile(path.join(__dirname, 'files', 'file5-rename')) console.log(newData.toString()) } catch (error) { console.log(error) } } fileFunc()
Summary:
unlink
Used to delete filesCreate stream.js
, the code is as follows
const fs = require('fs') // 读取文件流 const rs = fs.createReadStream('./files/file2', { encoding: 'utf8' }) // 写入文件流 const ws = fs.createWriteStream('./files/new-file2') // 监听读取并写入 rs.on('data', (chunk) => { ws.write(chunk) })
When reading large files or processing the network File stream operations are very useful when operating large files. When operating large files, we can set the amount of data read each time. The default is 64kb
const fs = require('fs') // 读取文件流 const rs = fs.createReadStream('./files/file2', { encoding: 'utf8' }) // 写入文件流 const ws = fs.createWriteStream('./files/new-file2') rs.pipe(ws)
pipe
The method automatically imports the read file stream into the write stream, which is equivalent to a convenient operation.
Create dir.js
, the code is as follows
const fs = require('fs') // 判断文件夹是否存在 if (!fs.existsSync('./new')) { // 创建文件夹 fs.mkdir('./new', (err) => { if (err) throw err console.log('文件夹创建成功') }) } if (fs.existsSync('./new')) { // 删除文件夹 fs.rmdir('./new', (err) => { if (err) throw err console.log('文件夹删除成功') }) }
Summary:
existsSync
is a synchronization method, used to determine whether the folder exists mkdir
Create a folderrmdir
Delete a folderThese three methods of operating folders are very common, just like eating every day.
For more programming-related knowledge, please visit: Introduction to Programming! !
The above is the detailed content of Quickly understand how to add, delete, modify and check files in nodejs projects. For more information, please follow other related articles on the PHP Chinese website!