在Nodejs中可以通过内置的fs模块(功能)来操作系统文件。fs->filesystem
    
     文件系统中有两种编程方式:同步(以Sync结尾)、回调
    
   
    
     用到fs模块先引入,const fs = require(‘fs’);
    
    (const用来声明一个不能修改的只读常量。和let类似)
   
    
     一、文件读取:
    
   
    
     1.同步:
    
    readFileSync(path[,options]);
    
     
      [ ]内的值可以省略
     
    
   
    
     
     
    
    path:文件路径
   
    options:①省略:以流的形式
    
     
      (十六进制)
     
    
    返回读取到的内容。
   
②不省略:{“encoding”:’utf-8′} | ‘utf-8’ 返回字符串。
    
     (引入fs模块后先在同级目录下创建一个名为:文件读取的.txt文件,文件内输入测试二字)
    
   
    
     ①省略options:
    
   
let res = fs.readFileSync('文件读取.txt');
console.log(res);
    
     (必须在文件自身所在位置的地址栏进行cmd操作)
    
   
     
   
     
   
Buffer->流 (16进制:0-9 a-f)可以用toString()将16进制转为字符串变为了具体的内容。
let res = fs.readFileSync('文件读取.txt');
console.log(res.toString());
     
   
    
     ② 不省略options:
    
   
let res = fs.readFileSync('文件读取.txt', 'utf-8');
console.log(res);执行js文件:用文件读取(同步)获得‘文件读取.txt’中的内容:测试
     
   
    
     2.回调:
    
    fs.readFile(pasth[,options],callback);
   
callback:箭头函数 (err,result)=>{…}
err:保存错误信息,没有返回null。result:保存结果。
let ult = fs.readFile('文件读取.txt', 'utf-8', (err, result) => { console.log(err, result); });
console.log(ult);执行js文件:用文件读取(回调)获得‘文件读取.txt’中的内容:测试
     
   
    
     二、文件写入(只写同步):
    
    fs.writeFileSync(path,data[,options]);
   
path:路径
data:数据(内容)
[,options]:写入模式,不传递参数默认值w(写入,覆盖原来的内容), 传递可以自己定义模式(a-> z追加) {‘flag’:’w|a|…’}
    
     ①不写options
    
    
     ,默认传递w,覆盖原来的内容
    
   
    
     (先在同级目录下创建一个名为:文件写入的.txt文件,文件内输入测试二字)
    
   
fs.writeFileSync('文件写入.txt','文件写入')执行结果没有任何返回值,但是不报错,就是执行成功了
     
   
    
     文件写入.txt文件
    
    页面成果:原本的测试两个字被新加入的’文件写入’替换了。
   
     
   
    
     ②写options
    
    ,在原内容的基础上追加内容    (\n是换行)
   
fs.writeFileSync('文件写入.txt', '\n文件写入', { flag: 'a' })
     
   
执行结果:
     
   
 
