fs模块案例-狗狗管理
导入模块
// 导入fs模块
// 引入模块时,可以用var、let,但是建议用const,因为我们希望这个模块不被改变
const { log } = require('console')
const fs = require('fs')
// 读取文件
fs.readFile('./data/dogs.json',(err,data) => {
// 读取成功
if(!err){
console.log(data);
// JSON通常用于与服务器交换数据
// 所以我们通过JSON.parse方法把JSON数据转换为JS字符串
// console.log(JSON.parse(data));
// 定义一个数组去接收我们读取的数据
const arr = JSON.parse(data)
// 往数组中增加元素
// arr.push('熊大')
// 向JSON文件写入数组元素
fs.writeFile('.//dogs.json',JSON.stringify(arr),err => {
if(!err){
console.log('写入成功');
} else {
console.log('写入失败');
}
})
}
})
封装+读取
// 导入fs模块
const fs = require('fs')
// 封装添加狗狗的方法
function addDog(dog) {
// 读取文件
fs.readFile('./data/dogs.json', (err, data) => {
// 读取成功
if (!err) {
console.log(data);
// JSON通常用于与服务器交换数据
// 所以我们通过JSON.parse方法把JSON数据转换为JS字符串
// console.log(JSON.parse(data));
// 定义一个数组去接收我们读取的数据
const arr = JSON.parse(data)
// 往数组中增加元素
arr.push(dog)
console.log(arr);
// 向JSON文件写入数组元素
fs.writeFile('.//dogs.json', JSON.stringify(arr), err => {
if (!err) {
console.log('写入成功');
} else {
console.log('写入失败');
}
})
}
})
}
addDog('藏獒')
// 封装的读取狗狗的方法
function readDog () {
// 读取
fs.readFile('./data/dogs.json',(err,data) => {
// 如果每次就打印数组
if(!err){
console.log(JSON.parse(data));
} else {
// 打印错误
console.log(err);
}
})
}
readDog()