Nodejs文件操作

释放双眼,带上耳机,听听看~!

1.fs.stat 检测是文件还是目录


1
2
3
4
5
6
7
8
9
10
11
12
13
1var fs=require('fs');
2fs.stat('html',function(err,stats){
3 if(err){
4   console.log(err);
5
6   return false;
7 }
8
9 console.log('文件:'+stats.isFile());
10 console.log('目录:'+stats.isDirectory());
11})
12
13

2.fs.mkdir 创建目录

接收参数:
path 将创建的目录路径
mode 目录权限(读写权限),默认0777
callback 回调,传递异常参数err


1
2
3
4
5
6
7
8
9
10
1fs.mkdir('css',function(err){
2 if(err){
3  console.log(err);
4
5  return false;
6 }
7 console.log('创建目录成功');
8})
9
10

3.fs.writeFile 创建写入文件

filename (String) 文件名称
data (String | Buffer) 将要写入的内容,可以使字符串 或 buffer数据。
options (Object) option数组对象,包含:
· encoding (string) 可选值,默认 ‘utf8′,当data使buffer时,该值应该为 ignored。
· mode (Number) 文件读写权限,默认值 438
· flag (String) 默认值 ‘w’
callback {Function} 回调,传递一个异常参数err。


1
2
3
4
5
6
7
8
9
10
11
1fs.writeFile('t.txt','你好nodejs 覆盖','utf8',function(err){
2
3  if(err){
4   console.log(err);
5
6   return false;
7  }
8 console.log('写入成功');
9})
10
11

4.fs.appendFile 追加文件


1
2
3
4
5
6
7
8
9
10
11
12
1fs.appendFile('t1.txt','这是写入的内容',function(err){
2
3  if(err){
4   console.log(err);
5
6   return false;
7  }
8 console.log('写入成功');
9})
10
11
12

5.fs.readFile 读取文件


1
2
3
4
5
6
7
8
9
10
11
12
13
1fs.readFile('t1.txt',function(err,data){
2  if(err){
3   console.log(err);
4
5   return false;
6  }
7  //console.log(data);
8
9  console.log(data.toString());
10
11})
12
13

6.fs.readdir读取目录 把目录下面的文件和文件夹都获取到


1
2
3
4
5
6
7
8
9
10
11
12
1fs.readdir('html',function(err,data){
2
3   if(err){
4    console.log(err);
5
6    return false;
7  }
8  console.log(data);
9
10})
11
12

7.fs.rename 重命名

1.改名 2.剪切文件


1
2
3
4
5
6
7
8
9
10
11
12
1fs.rename('html/index.html','html/news.html',function(err){
2
3   if(err){
4    console.log(err);
5
6    return false;
7  }
8  console.log('修改名字成功');
9})
10
11
12

1
2
3
4
5
6
7
8
9
10
11
12
1fs.rename('html/css/basic.css','html/style.css',function(err){
2
3    if(err){
4     console.log(err);
5
6     return false;
7   }
8   console.log('剪切成功');
9})
10
11
12

8.fs.rmdir 删除目录


1
2
3
4
5
6
7
8
9
10
1fs.rmdir('index.txt',function(err){
2     if(err){
3      console.log(err);
4
5      return false;
6    }
7   console.log('删除目录成功');
8})
9
10

9.fs.unlink删除文件


1
2
3
4
5
6
7
8
9
10
1fs.unlink('index.txt',function(err){
2
3       if(err){
4          console.log(err);
5          return false;
6     }
7    console.log('删除文件成功');
8})
9
10

10.fs.createReadStream

以流的方式读取文件


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1const fs = require('fs')
2//流的方式读取文件
3var readStream=fs.createReadStream('input.txt');
4
5var str='';/*保存数据*/
6var count=0;  /*次数*/
7readStream.on('data',function(chunk){
8    str+=chunk;
9    count++;
10})
11//读取完成
12readStream.on('end',function(chunk){
13    console.log(count);
14    console.log(str);
15})
16
17//读取失败
18readStream.on('error',function(err){
19    console.log(err);
20})
21
22

11.fs.createWriteStream

以流的方式写入


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
1var fs = require("fs");
2var data = '我是从数据库获取的数据,我要保存起来11\n';
3
4// 创建一个可以写入的流,写入到文件 output.txt 中
5var writerStream = fs.createWriteStream('output.txt');
6for(var i=0;i<100;i++){
7
8    writerStream.write(data,'utf8');
9
10}
11//标记写入完成
12writerStream.end();
13
14writerStream.on('finish',function(){
15
16    console.log('写入完成');
17})
18//失败
19writerStream.on('error',function(){
20
21    console.log('写入失败');
22})
23
24
25

12.管道流
管道提供了一个输出流到输入流的机制。通常我们用于从一个流中获取数据并将数据传递到另外一个流中。
Nodejs文件操作
如上面的图片所示,我们把文件比作装水的桶,而水就是文件里的内容,我们用一根管子(pipe)连接两个桶使得水从一个桶流入另一个桶,这样就慢慢的实现了大文件的复制过程。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1var fs = require("fs");
2// 创建一个可读流
3var readerStream = fs.createReadStream('input.txt');
4
5// 创建一个可写流
6var writerStream = fs.createWriteStream('output.txt');
7
8// 管道读写操作
9// 读取 input.txt 文件内容,并将内容写入到 output.txt 文件中
10readerStream.pipe(writerStream);
11
12console.log("程序执行完毕");
13
14
15

给TA打赏
共{{data.count}}人
人已打赏
安全技术

md5 加密算法

2021-8-18 16:36:11

安全技术

C++ 高性能服务器网络框架设计细节

2022-1-11 12:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索