A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梦曦 初级黑马   /  2019-6-21 13:56  /  872 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

node核心API模块(文件操作)
文件读取
fs.readFile(path[,options],callback);
fs.readFile('读取文件的路径',[可选参数],(error,data)=>{})
pth:路径
option:格式  要以什么样的格式编码 来读取指定的文件 默认的编码格式为 null
callback: 表示 当文件读取完成 电影这个callback 回调函数来处理读取的结果   
参数: error        data
文件写入
fs.writeFile
fs.writeFile(file,data,[options],err=>{});
file:路径字符串
data:写入的数据
options:可选参数
callback:error:写入文件完成之后的callback回调函数
注:如果在使用 file.writeFile的时候 要写入的文件不存在 则直接写入 如果要写入的文件路径已经存在,则进行覆盖
文件追加
fs.appendFile(path,data[,options],callback);
path:文件路径
data:追加的内容
option:可选参数 表示追加文本内容的编码格式,
    如果省略次参数 默认以utf-8的格式追加内容
callback:追加文件完成之后的回调函数
const fs = require('fs');
fs.appendFile('./files/1.txt', 'utf-8', (err) => {
    if (err) return console.log("文件写入失败" + err.message);
    console.log('写入成功');
})

文件写入writeFile和文件追加appendFile的区别
1 文件写入  如果文件不存在 会新建 文件 如果文件存在就会覆盖
2 文件追加 如果文件不存在 会新建文件   如果 文件存在 内容会追加
6.4 fs模块中路径操作问题【难点】
使用js模块操作文件的时候 如果提供的操作路径是相对路径
则会根据当前Node命令是的磁盘目录 去拼接提供的文件的相对路径
从而容易出现问题
const fs = require('fs');
fs.readFile('./files/1.txt', 'utf-8', (err, data) => {
    if (err) return console.log("读取文件失败" + err.message);
    console.log(data);
})

·目的:推荐使用node提供的__dirname来解决操作文件时候的路径问题
__dirname 是值当前文件所处的目录
__dirname永远指向当前执行的js文件的绝对路径
__dirname 不是任何核心模块的 Node 自带全局属性
// 导入fs模块
const fs = require('fs');
// 手动拼接时 记得不要加点哦
fs.writeFile(__dirname + '/files/1.txt', 'utf-8', (err) => {
    if (err) return console.log("写入文件失败");
    console.log("写入成功");
});


注意:在Node 中 _dirname 表示当前这个文件 所处的磁盘目录
结论:今后只要在使用fs 模块操作文件的时候 需要提供一个文件操作路径 这时候一定要使用dirname去拼接路径 否则就很容易出现问题
__filename 指向的是当前执行的js文件的所处的完整绝对路径
   路径中包括了具体的文件名
1_6.5 fs.stat[文件信息]
可以读取文件 也可以读取文件夹
path :路径
callback(err ,stats)回调函数
const fs = require('fs');
fs.stat('读取的路径',(err,stats)=>{
    console.log(stats.size) 字节
    console.log(stats.isFile)  判断是否是一个文件
   
});

1_6.6 fs.readfile
参数1:目录
参数二:编码格式 默认utf-8
参数:回调函数

1_6.7 fs.copyFile
【文件拷贝】
参数1:读取的文件路径
参数2:拷贝之后新文件的路径
参数3:
参数4:回调函数

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马