Node.js中文件读写操作详解
在Node.js中,可以使用fs
模块进行文件系统相关的操作,如文件读写、目录操作等。
读取文件
使用fs.readFile()
方法可以读取文件的内容,该方法的参数为文件路径和回调函数,回调函数的参数包含了错误信息和文件内容。
示例1:读取文本文件
const fs = require('fs');
fs.readFile('./test.txt', 'utf8', function(err, data){
if(err){
console.log(err);
}else{
console.log(data);
}
});
fs.readFile()
方法的第一个参数是文件路径,可以是相对路径,也可以是绝对路径。在上面的例子中,文件路径为./test.txt
,表示当前目录下的test.txt
文件。
第二个参数表示读取文件时的编码格式,通常为'utf8'
,这意味着文件内容会被解析为字符串。如果不指定该参数,readFile()
方法返回的是原始的二进制数据。
回调函数的第一个参数是错误信息,如果没有错误,该参数为null
。当出现错误时,可以通过打印err
对象来查看错误信息。
回调函数的第二个参数是文件内容。在上面的例子中,使用console.log()
打印文件内容。
示例2:读取二进制文件
const fs = require('fs');
fs.readFile('./test.png', function(err, data){
if(err){
console.log(err);
}else{
console.log(data);
}
});
如果读取的文件是二进制文件(如图片、音频、视频等),可以省略第二个参数。因为此时不需要指定编码格式,readFile()
方法返回的是二进制数据。
写入文件
使用fs.writeFile()
方法可以写入文件,该方法的参数为文件路径、写入内容和回调函数。回调函数的参数包含了错误信息。
示例3:写入文本文件
const fs = require('fs');
fs.writeFile('./test.txt', 'hello world', function(err){
if(err){
console.log(err);
}else{
console.log('文件写入成功');
}
});
在上面的例子中,第一个参数是文件路径,表示将要写入的文件。第二个参数是写入的内容,此处为'hello world'
。回调函数的参数为错误信息,如果没有错误,该参数为null
。
如果文件已经存在,writeFile()
方法将覆盖原有的内容;如果文件不存在,writeFile()
方法将创建一个新文件并写入内容。
示例4:写入二进制文件
const fs = require('fs');
fs.writeFile('./test.png', Buffer.alloc(1024), function(err){
if(err){
console.log(err);
}else{
console.log('文件写入成功');
}
});
如果文件是二进制文件,可以使用Buffer
对象作为写入的内容。上面的例子中,使用了Buffer.alloc(1024)
方法创建了一个大小为1024字节的Buffer对象,表示将要写入1024字节的空数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:node里的filesystem模块文件读写操作详解 - Python技术站