浏览器中的Javascript是没有文件操作的能力的,但是Node中的Javascript具有文件操作的能力
fs是 file-system的简写,就是文件系统的意思,在Node中如果想要进行文件操作,就必须引入 fs 这个核心模块,在 fs 中就提供了所有的文件操作相关的 API
例如: fs.readFile 就是用来读取文件的
1.使用require 方法加载 fs 的核心模块
var fs = require("fs")
hello.txt文件
hello world
2.读取文件
fs.readFile()
第一个参数:就是要读取的文件路径
第二个参数:是一个回调函数,回调函数有两个参数:data,error
????????读取成功时:?data 是数据,?error 是 null
????????读取失败时:?data 是undefined没有数据,?error 是错误对象
fs.readFile('./hello.txt', function(error, data) {
// console.log(data) //<Buffer 68 65 6c 6c 6f 20 6e 6f 64 65 6a 73 0d 0a>
// 在这里就可以通过判断 error 来确认是否有错误发生
if (error) {
console.log('读取文件失败了')
} else {
console.log(data.toString()) // hello nodejs
}
})
?文件中存储的其实都是二进制数据 0 1
这里为什么看到的不是 0 和 1 呢?原因是二进制转为 16 进制了
?但是无论是二进制01还是16进制,人类都不认识
所以我们可以通过 toString 方法把其转为我们能认识的字符
3.写文件
fs.writeFile()
第一个参数:文件路径
第二个参数:文件内容
第三个参数:回调函数,有一个参数error
? ? ? ? 文件写入成功:error是null
? ? ? ? 文件写入失败:error是错误对象
fs.writeFile( './你好.md', '大家好,我是Annie', function(error) {
// console.log("文件写入成功")
if (error) {
console.log('写入失败')
} else {
console.log('写入成功了')
}
})