文件操作
读取文件:同步&异步
fs读取所有的方法都有、同步与异步的形式
node里关于文档的操作方法基本都给了两份,即同步与异步
使用前导入核心模块 const fs = require('fs');
-
//重命名 异步
-
fs.rename("","",function(err){
-
if(err) throw err;
-
console.log("重命名成功");
-
})
-
-
-
//重命名 同步
-
fs.renameSync("","");
同步
异步
写文件(())
效果:删掉文档原内容,写入新内容,如果指定文档不存在,则新建
追加(())
下图显示的代码实现之后,对于文档末尾追加了相同的文字,即追加操作
拷贝(())
效果如下面代码结果所示,文档中的内容进行了变化,变成了文档中的文字,实现了拷贝操作
-
const fs = require('fs');
-
//copy操作
-
("./","./",err => {
-
if(err){
-
("文件拷贝失败,原因是:" + err);
-
return;
-
}
-
("文件拷贝成功")
-
})
流操作
流操作一般读取的都是大文件,分为读取流跟写入流
读取流
下述代码中实现读取文档中内容,文档中有大量的文字内容,终端显示一共读取了两次,但是真正的作用是可以将大文件进行拼接,第二部分代码执行后,终端显示出文档中的所有文字内容。
-
const fs = require('fs');
-
// 大文件进行数据流操作
-
// 创建读取流
-
const rs = ("./",{encoding:"utf8"});
-
rs.on("open", () => {
-
("读取流 open")
-
})
-
let count = 0;
-
rs.on("data", chunk => {
-
// chunk事一个buffer,当前读取的数据片段,二进制数据流
-
count ++;
-
(count);
-
})
-
rs.on("end", () => {
-
("文件读取 end")
-
})
-
rs.on("close", () => {
-
("读取流 close")
-
})
-
const fs = require('fs');
-
// 大文件进行数据流操作
-
// 创建读取流
-
const rs = ("./",{encoding:"utf8"});
-
rs.on("open", () => {
-
("读取流 open")
-
})
-
let text = '';
-
rs.on("data", chunk => {
-
// chunk事一个buffer,当前读取的数据片段,二进制数据流
-
// 拼接
-
text += chunk;
-
})
-
rs.on("end", () => {
-
("文件读取 end")
-
(text)
-
})
-
rs.on("close", () => {
-
("读取流 close")
-
})
写入流
-
const fs = require('fs');
-
// 写入流
-
var ws = ("./");
-
ws.write("天地玄黄,宇宙洪荒");
-
ws.end();
-
ws.on("open",() => {
-
("写入流 open")
-
})
-
ws.on("close", () =>{
-
("写入流 close")
-
})