node.js fs模块整理

const fs = require(‘fs’);
fs.open(’./home’, ‘rs+’, (err, fd) => {}) 打开文件
fs.stat(’./home/index.js’, (err, stat) => {})获取文件信息
fs.writeFile(file, data[, options], callback) 写入文件
读取文件 fd 通过open读取的数据
buffer - 数据写入的缓冲区。
offset - 缓冲区写入的写入偏移量。
length - 要从文件中读取的字节数。
position - 文件读取的起始位置,如果 position 的值为 null,则会从当前文件指针的位置读取。
bytes 读取到的字节
补充知识 Buffer缓冲区 alloc()指定大小 .allocUnsafe()不会被初始化
fs.read(fd, buffer, offset, length, position, callback)
const buf = new Buffer.alloc(1024);
fs.open(’./home/index.js’, ‘rs+’, (err, fd) => {})
截取文件
fs.ftruncateSync(fd, len) 同步
fs.ftruncate(fd, len, callback) 异步
fs.truncate(path, len, callback)
fs.truncateSync(path, len)
fs.read(fd, buf, 0, buf.length, 0, (err, bytes) => {}) 读取文件
fs.close(fd, (err) => {}) 关闭文件
fs.unlink(path, callback) 删除文件
fs.mkdir(path[, options], callback) 创建目录/文件
fs.readdir(path, callback) 读取目录err 为错误信息,files 为 目录下的文件数组列表。
fs.rmdir("./rmdir",err=>{}); 删除目录
fs.rename(‘rmdir’, ‘newPath’, err=>{}) 异步文件名修改名称
改变文件所有权
fs.chownSync(path, uid, gid) 同步
fs.fchownSync(fd, uid, gid)
fs.lchownSync(fd, uid, gid)
fs.chown(path, uid, gid, callback) 异步
fs.fchown(fd, uid, gid, callback)
fs.lchown(fd, uid, gid, callback)

const fs = require('fs');
//打开文件
fs.open('./home', 'rs+', (err, fd) => {
    if (err) {
        return console.error(err);
    }
    console.error(fd);
    console.log("文件打开成功!");
})
// 获取文件信息
fs.stat('./home/index.js', (err, stat) => {
    if (err) {
        return console.log(err);
    }
    console.log(stat);
})
// 写入文件
// fs.writeFile(file, data[, options], callback)
fs.writeFile('./demo/index.js', '111', (err) => {
    err && console.log(err);
})
//读取文件  //fd 通过open读取的数据  
//buffer - 数据写入的缓冲区。
//offset - 缓冲区写入的写入偏移量。 
//length - 要从文件中读取的字节数。
//position - 文件读取的起始位置,如果 position 的值为 null,则会从当前文件指针的位置读取。
//bytes 读取到的字节
//fs.read(fd, buffer, offset, length, position, callback) 
//补充知识 Buffer缓冲区  alloc()指定大小   .allocUnsafe()不会被初始化

var buf = new Buffer.alloc(1024);
fs.open('./home/index.js', 'rs+', (err, fd) => {
    if (err) {
        return console.error('打开失败',err);
    }
//截取文件 此为异步。因而读取文件和关闭文件需要此函数回调内完成
// fs.ftruncateSync(fd, len) 同步
// fs.ftruncate(fd, len, callback) 异步
// fs.truncate(path, len, callback)
// fs.truncateSync(path, len)
    fs.truncate('./demo/index.js', 1, err=>{
        console.log(err);
    })
    fs.ftruncate(fd, 10, err=>{
        err&&console.log('截取失败',err);
        fs.read(fd, buf, 0, buf.length, 0, (err, bytes) => {
            err && console.log('读取失败',err);
               console.log(buf.slice(0, bytes).toString());//  根据设置
            //    console.log(buf.toString());//
        })
        fs.close(fd, (err) => {
            //无参数
            err && console.log('关闭失败',err);
            console.log('关闭成功');
        })
    })
    //关闭文件
})
// 删除文件
// fs.unlink(path, callback)
// fs.unlink('./demo/index.js',err=>{
//     err&console.log('删除失败',err);
// })
// 创建目录/文件
// fs.mkdir(path[, options], callback)
fs.mkdir("./demo/index.js",err=>{
    err&&console.log('目录创建失败',err);
 });
//  读取目录err 为错误信息,files 为 目录下的文件数组列表。
// fs.readdir(path, callback)
 fs.readdir('./demo', (err,files)=>{
    err&&console.log('目录创建失败',err);
     console.log(files);
 })
//  删除目录
// fs.rmdir("./rmdir",err=>{
//     err&console.log('删除目录失败',err);
// });
//异步文件名修改名称
fs.rename('rmdir', 'newPath', err=>{
    err&console.log(err);
})

// 改变文件所有权
// fs.chownSync(path, uid, gid)  同步
// fs.fchownSync(fd, uid, gid)
// fs.lchownSync(fd, uid, gid)
// fs.chown(path, uid, gid, callback)  异步
// fs.fchown(fd, uid, gid, callback)
// fs.lchown(fd, uid, gid, callback)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值