nodejs File System

2019-06-10  本文已影响0人  BULL_DEBUG

得到文件与目录的信息:stat

const fs = require('fs');
fs.stat('index.js', (error, stats) => {
    if (error) {
        console.log(error)
    } else {
        console.log(stats)
        console.log(`文件:${stats.isFile()}`)
        console.log(`目录:${stats.isDirectory()}`)
    }
})

创建一个目录

const fs = require('fs');
fs.mkdir('logs', (error) => {
    if (error) {
        console.log(error)
    } else {
        console.log(`成功创建目录:logs`)
    }
})

创建文件并写入内容:writeFile,appendFile

const fs = require('fs');
fs.writeFile('logs/hello.log', 'hello ~ \n', (error) => {
    if (error) {
        console.log(error)
    } else {
        console.log(`成功写入文件`)
    }
})
fs.appendFile('logs/hello.log', '你好 ~ \n', (error) => {
    if (error) {
        console.log(error)
    } else {
        console.log(`成功写入文件`)
    }
})

读取文件内容:readFile

const fs = require('fs');
fs.readFile('logs/hello.log','utf8', (error, data) => {
    if (error) {
        console.log(error)
    } else {
        console.log(`读取成功:${data}`)
    }
})

列出目录的东西:readdir

const fs = require('fs');
fs.readdir('logs', (error, files) => {
    if (error) {
        console.log(error)
    } else {
        console.log(files)
    }
})

重命名目录或文件:rename

const fs = require('fs');
fs.rename('logs/hello.log', 'logs/greeting.log', (error) => {
    if (error) {
        console.log(error)
    } else {
        console.log('重命名成功')
    }
})

删除目录与文件:rmdir,unlink

const fs = require('fs');

fs.readdirSync('logs').map((file) => {
    fs.unlink(`logs/${file}`, (error) => {
        if (error) {
            console.log(error)
        } else {
            console.log(`成功删除文件:${file}`)
        }
    })
})
fs.rmdir('logs', (error) => {
    if (error) {
        console.log(error)
    } else {
        console.log('成功删除目录:logs')
    }
})

stream

const fs = require('fs');
const zlib = require('zlib')

// var fileReadStream = fs.createReadStream('data.json');
// var fileWriteStream = fs.createWriteStream('data-1.json')
// fileReadStream.pipe(fileWriteStream);

var fileReadStream = fs.createReadStream('data.json');
var fileWriteStream = fs.createWriteStream('data.json.gz')

fileWriteStream.on('pipe', (source) => {
    console.log(source)
})
fileReadStream
.pipe(zlib.createGzip())
.pipe(fileWriteStream);


// var count = 0;
// fileReadStream.once('data', (chunk) => {
//     console.log(chunk.toString())
// })

// fileReadStream.on('data', (chunk) => {
//     console.log(`${ ++count }接收到:${chunk.length}`)
//     fileWriteStream.write(chunk)
// })
// fileReadStream.on('end', () => {
//     console.log(`-- 结束 --`)
// })
// fileReadStream.on('error', (error) => {
//     console.log(error)
// })



上一篇 下一篇

猜你喜欢

热点阅读