nodejs文件操作

使用nodejs进行文件以及目录的创建,删除,修改,复制。

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
const fs = require('fs') //文件操作
// 增删改查;
// 1.文件操作 2.目录操作

// 文件操作
fs.writeFile('1.txt',"我是写入的文字",function(err){
if(err){
return console.log(err)
}
console.log("success")
})

// a:追加写入;w:写入;r:读取
fs.writeFile('1.txt',"我是zhuijia的文字",{flag:"a"},function(err){
if(err){
return console.log(err)
}
console.log("success")
})

// 读取
fs.readFile('1.txt',"utf8",(err,data)=>{
if(err){
return console.log(err)
}
console.log(data)
})
fs.readFile('1.txt',(err,data)=>{
if(err){
return console.log(err)
}
console.log(data,toString())
})

// 所有的文件操作 没有加Sync都是异步 否则是同步
let data = fs.readFileSync('1.txt')
console.log(data.toString())

// 修改文件名
fs.rename("1.txt","2.txt",function(err){
if(err){
return console.log(err)
}
console.log("success")
})

// 删除
fs.unlink('2.txt',err=>{
if(err){
return console.log(err)
}
console.log("success")
})

// 复制
fs.copyFile('1.js',"2.js",err=>{
if(err){
return console.log(err)
}
console.log("success")
})


// 复制
function myCopy(src,dest){
fs.writeFileSync(dest,fs.readFileSync(src))
}

// 目录操作

// 创建目录
fs.mkdir('test',err=>{
if(err){
return console.log(err)
}
console.log("success")
})

// 修改目录名称
fs.rename('test',"test1",err=>{
if(err){
return console.log(err)
}
console.log("success")
})

// 读取目录
fs.readdir('test1',(err,data)=>{
if(err){
return console.log(err)
}
console.log(data)
})

// 删除目录(空文件夹/目录)
fs.rmdir('test1',err=>{
if(err){
return console.log(err)
}
console.log("success")
})

// 判断文件/目录是否存在 true/false
fs.exists("test",exists=>{
console.log(exists)
})

// 获取文件活目录的详细信息
fs.stat('1.js',(err,stat)=>{
if(err){
return console.log(err)
}
// console.log(stat)
// let res =stat.isFile()//判断是否是文件
let res =stat.isDirectory()//判断是否是文件夹
console.log(res)
})

// 删除非空文件夹
// 先把目录里文件删除->删除空目录
removeDir('test1')
function removeDir(path){
let data=fs.readdirSync(path)
data.forEach(v=>{
//是文件直接删除 目录继续查找
let url = `${path}/${v}`
let stat=fs.statSync(url)
if(stat.isFile()){
// 文件 删除
fs.unlinkSync(url)
}else{
//目录 继续查找
removeDir(url)
}
})
fs.rmdirSync(path)
}
文章作者: Joker
文章链接: https://qytayh.github.io/2021/03/nodejs%E6%96%87%E4%BB%B6%E6%93%8D%E4%BD%9C/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Joker's Blog