文件系统
(1)通过node来操作系统中的文件
(2)使用前要先引入fs核心模块,直接require引入,无需下载
操作文件系统两种方式
同步文件系统会阻塞程序,除非操作完成,不会执行下面代码
异步文件系统不会阻塞程序,而是在操作完成后通过回调函数返回结果
文件的同步写入
(1)fs.openSync(path,flags,mode)返回一个文件特殊值,可通过返回值对文件进行操作
path:路径
flags:打开文件操作的类型
'r':只读
'w':只写
mode:文件权限,一般针对linux,可不写
(2)fs.writeSync(文件特殊值,'写入内容',距离首部距离数值/可选,'字符编码格式默认为utf-8'/可选);
(3)fs.closeSync(文件特殊值); //保存并关闭文件,减小服务器开销,否则会一直占用服务器
以追加方式
fs.appendFileSync(路径,'内容');
文件的异步写入
(1)fs.open(路径,文件操作类型,回调函数function(err,fd){
回调函数有两个参数,err错误对象,没有为null,fd文件描述符
可通过arguments查看
});
'r':只读
'w':只写 //没有文件会自动创建一个文件
注意:**必须在打开函数的回调函数中写**
(2)fs.write(文件描述符,'内容',距首部位置数值/可选,编码格式/可选,回调函数
(错误对象,写入字节数,内容))
(3)fs.close(文件描述符,回调函数(err错误对象))
以追加方式
appendFile(路径,'内容',回调函数);
代码示例:
var fs=require('fs');
//var fd=fs.openSync('C:/Users/10853/Desktop/td.txt','w');
//fs.writeSync(fd,'天气好',20);
//fs.closeSync(fd);
fs.open('C:/Users/10853/Desktop/td.txt','w',function(err,fd){
if(!err)
{
fs.write(fd,'yeyeyye',function(err){
if(!err)
{
console.log('ok');
}
fs.close(fd,function(err){
if(!err)
{
console.log('成功关闭');
}
})
})
}
})