1 let fs = require('fs'
);
2
3 2
. 同步读取
4 let fd = fs.readFileSync(__dirname + '/source/a.txt'
);
5 console.log(fd);
6 console.log(fd.toString());
7
8 console.log('后续的操作'
);
9
10 3
. 异步读取
11 fs.readFile(__dirname + '/source/a.txt', (err, data)=>
{
12 if(!
err){
13 console.log(data);
14 console.log(data.toString());
15 }
16 });
17 console.log('后续的操作');
1 let fs = require('fs'
);
2
3 // 1. 打开文件
4 let fd = fs.openSync(__dirname + '/source/b.txt', 'w'
);
5 console.log(fd);
6
7 // 2. 同步写入内容
8 fs.writeFileSync(fd, '哈哈哈!'
);
9
10 // 3. 保存并退出
11 fs.closeSync(fd);
12
13 // 4. 后续操作
14 console.log('后续的操作');
1 let fs = require('fs'
);
2
3 // 1. 打开文件
4 fs.open(__dirname + '/source/c.txt', 'a', (err, fd) =>
{
5 if (!
err) {
6 // 2. 写入文件
7 fs.writeFile(fd, '小撩漂亮!哈哈哈哈' + Date.now() + '\n', (err)=>
{
8 if(!
err){
9 console.log('写入文件成功'
);
10 }
else {
11 throw err;
12 }
13 });
14
15 // 3. 关闭文件
16 fs.close(fd, (err)=>
{
17 if(!
err){
18 console.log('文件已经保存并关闭!'
);
19 }
else {
20 throw err;
21 }
22 })
23 }
24 });
25
26 // 后续操作
27 console.log('后续操作');
1 let fs = require('fs'
);
2
3 let copy = (src, target, callBack)=>
{
4 fs.readFile(src, (err, data)=>
{
5 if(!err){
// 读取成功
6 fs.writeFile(target, data, (err, data)=>
{
7 if(!err){
// 写入成功
8 callBack &&
callBack(err, data);
9 }
else {
10 throw err;
11 }
12 });
13 }
14 });
15 };
16
17 copy(__dirname + '/source/b.txt', __dirname + '/source/d.txt', (err)=>
{
18 if(!
err){
19 console.log('拷贝成功!'
);
20 }
21 });
1 let fs = require('fs'
);
2
3 // 1. 读取图片
4 /*
5 fs.readFile('C:/Users/yejianhua/Desktop/girl.jpg', (err, data)=>{
6 if(!err){
7 // 2. 写入图片文件
8 fs.writeFile(__dirname + '/source/girl.jpg', data, (err)=>{
9 if(err) throw err;
10 console.log('写入成功');
11 });
12 }
13 });
14 */
15
16
17 fs.readFile('C:/Users/yejianhua/Desktop/lk.mp4', (err, data)=>
{
18 console.log(data);
19 if(!
err){
20 // 2. 写入图片文件
21 fs.writeFile(__dirname + '/source/lk.mp4', data, (err)=>
{
22 if(err)
throw err;
23 console.log('写入成功'
);
24 });
25 }
26 });
1 let fs = require('fs'
);
2
3 // 1. 创建读写流
4 let rs = fs.createReadStream('C:/Users/yejianhua/Desktop/lk1.mp4'
);
5 let ws = fs.createWriteStream(__dirname + '/source/lk888.mp4'
);
6
7 // 2. 监听流的打开
8 rs.once('open', ()=>
{
9 console.log('写入流已经打开了~'
);
10 });
11
12 ws.once('open', ()=>
{
13 console.log('读入流已经打开了~'
);
14 });
15
16 // 3. 监听data
17 rs.on('data', (data)=>
{
18 console.log(data);
19 ws.write(data);
20 });
21
22 // 4. 监听流的关闭
23 rs.once('end', ()=>
{
24 console.log('读入数据已经完成~'
);
25 });
26
27 rs.once('close', ()=>
{
28 console.log('读入数据通道关闭~'
);
29 });
let fs = require('fs'
);
// 1. 创建读写流
let rs = fs.createReadStream('C:/Users/yejianhua/Desktop/lk1.mp4'
);
let ws = fs.createWriteStream(__dirname + '/source/lk999.mp4'
);
// 2. 创建管道
rs.pipe(ws);
1 let fs = require('fs'
);
2
3
4
5
6 // 1. 创建读写流
7 let rs = fs.createReadStream('C:/Users/yejianhua/Desktop/lk1.mp4'
);
8 let ws = fs.createWriteStream(__dirname + '/source/lk000.mp4'
);
9
10 rs.on('data', (data)=>
{
11 let flag =
ws.write(data);
12 console.log(flag);
13 // 判断
14 if(!
flag){
15 // 暂停
16 rs.pause();
17 }
18 });
19
20 ws.on('drain', ()=>
{
21 // 继续读取流
22 rs.resume();
23 });
24
25 rs.on('end', ()=>
{
26 ws.end();
27 });
28
29 自己写方法实现pipe功能
转载于:https://www.cnblogs.com/zhangzhengyang/p/11110453.html
相关资源:node.fs模块的使用