在node.js中入如果想要调用核心API须要通过require来调用

文件操作

通过require来node.js的核心API’ fs ‘文件系统

const fs = require('fs')

文件读取

fs核心模块中提供了一个fs.readFile方法,来读取指定目录下的文件

fs.readFile(path,[options],callback)

path 读取的文件的路径

options 表示要以什么样的编码格式来读取文件,默认编码格式为 null ,一般都会改为utf-8

callback 当文件读取完成,调用这个callback回调函数来处理读取的结果

第一个参数是错误对象err ,如果err为null就证明读取成功了没有出错

第二个参数是读取成功的结果data

错误优先回调函数

err.meeage 错误信息

1
2
3
4
fs.readFile('1.txt','utf-8',(err,data) => {
if(err) console.log('读取文件失败');//如果错误对象位真就代表读取文件失败
console.log(data);
})

文件的操作是一个异步的过程

fs提供了一个readFileSync方法来时文件读取能够同步

var fs = fs.readFileSync(path,options)

文件写入

fs.writeFile(‘path’,’data’,callback)

第一个参数也是一个要写入的路径,如果当前路径没有对应的文件,则自己创建在写入

第二个参数时要写入的数据

第三个参数为写入数据后的结果

1
2
3
4
5
fs.writeFile('1.txt','111',err => {

if(err) return console.log('写入文件失败')

})

每次写入都会覆盖,不会保留,所以要有文件追加

文件追加

fs.appendFile(‘path’,’data’,callback)

第二个参数为要追加的数据,其它的两个参数跟文件写入一致

1
2
3
4
5
fs.appendFile('1.txt','\n2222',err => {

if(err) return console.log('文件按追加失败')

} )

文件复制

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
26
方法1:
fs.readFile('1/txt','utf-8',(err,data) => {

if(err) return console.log('文件读取出差错了')

console.log(data)

fs.writeFile('2.txt',data,err => {

if(err) return console.log('文件写入失败')

console.log('文件按复制成功')

})

})
方法2:
fs.copyFile('.1txt','6.txt',err => {

if(err) return console.log('复制出错了')

console.log('文件复制成功了')

})

//第一个参数为被复制的文件名,第二个参数为要复制到的文件按名

读取文件信息

1
2
3
4
fs.stat('1.txt',(err,stats) => {
console.log(stats);//获取到文件的大小、创建实际按等信息
//获取到的文件大小的当为为字节B,一字节为8位(bit)
})

读取文件夹

1
2
3
4
5
6
fs.readdir('文件加路径',(err,files) => {

console.log(files)//获取到当前文件夹下的所有文件以一个数组的形式存放


})

​ 在对文件进行操作的是后都会涉及到路径的问题,如果不是在当前终端路径目录下执行,会导致报错,因为如果在在其他的位置的终端中执行会导致还没到文件所在路径的文件加就直接取在找文件,就会报错。如果使用绝对路径就 不会出现这样的情况

dirname //文件夹坐在文件的目录 和终端路径没有任何关系 filename //文件地址

路径操作

path也是node.js中的核心API,通过require来调用

const path = require(‘path’)

path中的join方法能够更好的将该路径片段进行拼接

path.join(‘/b’,’\a’)

1
2
3
4
5
6
7
const fs = require('fs');
const path = require('path');
fs.readFile(path.join(__dirname,'./3.txt'),'utf-8',function(err,data) {
if(err) return console.log('文件读取错误' + err.message);
console.log('读取内容成功内容为:' + data);

})
文章目录
  1. 1. 文件操作
    1. 1.1. 文件读取
    2. 1.2. 文件写入
    3. 1.3. 文件追加
    4. 1.4. 文件复制
    5. 1.5. 读取文件信息
    6. 1.6. 读取文件夹
  2. 2. 路径操作
|