fs.createWriteStream 写入文件
const fs=require('fs')
// fs.stat 检测是文件还是目录
fs.stat('.html',(err,data)=>{
if(err){
console.log(err);
return;
}
console.log(`是文件:${data.isFile()}`)
console.log(`是目录:${data.isDirectory()}`)
})
/*
* path 将创建的目录路径
* mode 目录权限(读写权限),默认 777
* callback 回调,传递异常参数 err
*/
fs.mkdir('./css',(err)=>{ // 检测css目录是否存在
if(err){
console.log(err)
return;
}
console.log('创建成功')
})
// 如果创建的文件不存在直接创建写入,如果要创建的文件已存在,会替换原来的内容
fs.writeFile('./html/index.html','你好nodejs',(err)=>{
if(err){
console.log(err)
return
}
console.log('创建写入文件成功')
})
// 如果要追加的文件不存在,会先创建再写入,如果文件存在,这时直接追加
// \n 换行
fs.appendFile('./css/base.css','body{color:red}\n',(err)=>{
if(err){
console.log(err)
return
}
console.log('appendFile成功')
})
fs.readFile('./html/index.html',(err,data)=>{
if(err){
console.log(err)
return
}
console.log(data) //读取到的文件是一个Buffer 数据
console.log(data.toString()); // 转化Buffer为String类型
})
// 读取了html目录下的文件名,以及目录下的目录
fs.readdir('./html',(err,data)=>{
if(err){
console.log(err)
return
}
console.log(data) // ['index.html','js'] 其中js是一个目录
})
/*
* parma1 旧文件名字
* param2 要改成的文件名
* param3 回调函数
*/
fs.rename('./html/aa.html','./html/home.html',(err)=>{
if(err){
console.log(err)
return
}
console.log('重命名成功')
})
// 移动文件 可以移动的同时修改文件名称
fs.rename('./html/home.html','./css/home.html',(err)=>{
if(err){
console.log(err)
return
}
console.log('移动文件成功')
})
// aa 目录下有文件 ,直接删除会报错 这个时候要先执行 fs.unlink 删除文件
fs.rmdir('./aa',(err)=>{
if(err){
console.log(err)
return
}
console.log('删除目录成功')
})
fs.unlink('./aa/index.html',(err)=>{
if(err){
console.log(err)
return
}
console.log('删除文件成功')
})
const fs = require('fs');
var fileReadStream = fs.createReadStream('data.json');
let count = 0;
var str = '';
fileReadStream.on('data',(chunk)=>{
console.log(`${++count} 接收到:${chunk.length}`)
str +=chunk;
})
fileReadStream.on('end',() => {
console.log('--- 结束 ---');
console.log(count);
console.log(str);
})
fileReadStream.on('error', (error) => {
console.log(error)
})
从数据库中获取文件内容,存入至指定的文件(output.txt)中
var fs = require("fs");
var data = '我是从数据库获取的数据,我要保存起来';
// 创建一个可以写入的流,写入到文件 output.txt 中
var writerStream = fs.createWriteStream('output.txt'); // 使用 utf8 编码写入数据 writerStream.write(data,'UTF8');
// 标记文件末尾
writerStream.end();
// 处理流事件 --> finish 事件 writerStream.on('finish', function() {
console.log("写入完成。"); });
writerStream.on('error', function(err){ console.log(err.stack);
}); console.log("程序执行完毕");