文件/文件夹操作
创建目录
fs.mkdir(path,option,callback)
- path
<string>|<Buffer>|<URL>
- option
- recursive
<boolean>
默认:false - mode window不支持
- recursive
- callback
<Function>
- err
<Error>
- err
const fs = require('fs');
//若D盘下无test文件夹则会创建test文件夹
fs.mkdir('D:/test',{recursive:false},(err)=>{
if(err){
console.log(err);
}
})
读取目录
fs.readdir(path,option,callback)
- path
- option
- recursive
- callback
- err
- content
const fs = require('fs');
fs.readdir('D:/',{recursive:false},(err,content)=>{
if(err){
console.log(err)
}
console.log(content)
})
删除目录
fs.rmdir(path,option,callback)
- path
- option
- recursive
- callback
- err
const fs = require('fs')
fs.rmdir('D:/test',{recursive:false},(err)=>{
if(err){
console.log(err)
}
})
文件操作
打开文件
fs.open(path,flags,mode,callback)
- path
<string>|<Buffer>|<URL>
- flags
<string>|<number>
默认值:'r'
- mode
<string>|<integer>
默认值:0o666
(可读写) - callback
<Function>
- err
<Error>
- fd
<integer>
文件描述符
- err
const fs = require('fs')
fs.open('D://test.txt','r',(err,fd) =>{
if(err){
console.log(err)
}
//获取文件描述符,文件描述符一般是从3以后开始,因为前面有 0、1、2 三个比较特殊的描述符,分别代表 process.stdin(标准输入)、process.stdout(标准输出)和 process.stderr(错误输出)。
console.log(fd)
})
关闭文件
fs.close(fd,callback)
- fd
<integer>
- callback
<Function>
- err
<Error>
- err
const fs = require('fs')
fs.open('D:/test.txt','r',(err,fd) =>{
if(err){
console.log(err)
}
fs.close(fd,(err) =>{
if(err){
console.log(err)
}
})
})
写文件
fs.write(fd,buffer,offset,length,position,callback)
- fd
<integer>
- buffer
<Buffer>|<TypedArray>|<DataView>
表示要写入的数据 - offset
<integer>
buffer读取的偏移量 - length
<integer>
写入的buffer的长度 - position
<integer>
写入文件的位置 - callback
<Function>
- err
<Error>
- bytesWritten
<integer>
实际写入的字节数 - buffer
<Buffer>|<TypedArray>|<DataView>
- err
const fs = require('fs')
var buffer = Buffer.alloc("你好呀兄弟")
fs.open('D:/test.txt','r',(err,fd) =>{
if(err){
console.log(err)
}
fs.write(fd,buffer,0,5,0,(err,bytesWritten,buffer) =>{
if(err){
console.log(err)
}
//bytesRead代表了写入数据的长度
console.log(bytesWritten)
//buffer表示写入的数据
console.log(buffer.toString())
//关闭文件
fs.close(fd,(err) =>{
if(err){
console.log(err)
}
})
})
})
读文件
fs.read(fd, buffer, offset, length, position, callback)
- fd
<integer>
- buffer
<Buffer>|<TypedArray>|<DataView>
表示读取的数据存入的位置 - offset
<integer>
buffer写入的偏移量 - length
<integer>
读取的文件的长度 - position
<interger>
文件读取的位置 - callback
<Function>
- err
<Error>
- bytesRead
<integer>
实际读取数据的长度 - buffer
<Buffer>|<TypedArray>|<DataView>
读取的数据
- err
const fs = require('fs')
var buffer = Buffer.alloc(10);
fs.open('D:/test.txt','r',(err,fd) =>{
if(err){
console.log(err)
}
fs.read(fd,buffer,0,3,0,(err,bytesRead,buffer) =>{
if(err){
console.log(err)
}
//bytesRead代表了读取数据的长度
console.log(bytesRead)
//buffer表示读取的数据
console.log(buffer.toString())
//追加读取数据
fs.read(fd,buffer,3,3,3,(err,bytesRead,buffer) =>{
if(err){
console.log(err)
}
//bytesRead代表了读取数据的长度
console.log(bytesRead)
//buffer表示读取的数据
console.log(buffer.toString())
//关闭文件
fs.close(fd,(err) =>{
if(err){
console.log(err)
}
})
})
})
})