美文网首页
fs 读取文件

fs 读取文件

作者: Aries蓝 | 来源:发表于2020-04-27 10:57 被阅读0次
    
    
    // fs 
    var fs = require('fs');
    
    
    // 倒入文件模块
    /**
     * node读写文件也 分为 同步和异步的接口
     *     同步按顺序执行,异步同时执行
     * 
     * 
     * sync 同步 async异步
     * node所有接口默认异步
     * 
     */
    
    
    // fs.openSync(url,[flag,mode])
    var fd = fs.openSync('./server.js', 'r') // 返回的是一个内存地址
    console.log(fd)
    console.log(333333666666)
    
    //  Buffer.alloc 内存开辟的一个缓冲区
    var buf = Buffer.alloc(20)
    
    var content = fs.readSync(fd, buf, 0, 20, 0)
    
    // 同步
    var content = fs.readFileSync(fd, { flag: 'r', encoding: 'utf-8' }, 0, 20, 0)
    // 异步
    fs.readFile('./wo.text', { flag: 'r', encoding: 'utf-8' }, function (err, data) {
        console.log(data)
    
    
    
    })
    
    
    // 异步  w write ===> a append ===> r read
    fs.writeFile('./wo.text', '我应该是个帅哥\n', { flag: 'w', encoding: 'utf-8' }, function (err) {
    
    })
    fs.writeFile('./wo.text', '我应该是个帅哥\n', { flag: 'a', encoding: 'utf-8' }, function (err) {
    
    })
    
    
    console.log(content)
    
     // fs.unlink(path,callback) 删除文件
    
    
    
    
    /*
    buffer 缓冲
    1.数组不能进行二进制数据的操作
    2 js数据不像java python 等语言效率高
    3 bugger 内存空间开辟出固定大小的内存
    var str = 'helloword'
    var bu1 = Buffer.from(str)
    console.log(bu1) //<Buffer 68 65 6c 6c 6f 77 6f 72 64>
    显示的是 16进制 其实是 2进制 因为  2进制  太长了
    
    
    开辟一个新的缓存空间
    let buf2 = Buffer.alloc(size)
    
    let buf2 = Buffer.alloc(10)
    let buf2 = Buffer.alloc(10)
    buf2[0] = 10  <Buffer 0a 00 00 00 00 00 00 00 00 00>
    
    
    
    
    */
    
    
    
    
    // 读取目录 fs.readdir(path,callback)
    var pa = fs.readdir('./../',function(err,data){
     console.log(err)
     console.log(data)
    })
    // 删除目录 fs.rmdir(path,callback)
    
    
    
    // 如何创建一个输入 package.json
    
    var readline = require('readline')
    var r1 = readline.createInterface({
        output:process.stdout,
        input:process.stdin
    })
    
    
    function lcQuestion(title){
        return new Promise((res,rej)=>{
            r1.question(title,function(answer){
                res(answer)
            })
        })
    }
    
    async function creatPakage(){
        let name = await lcQuestion('您的包名叫什么')
        let description = await lcQuestion('您的包如何描述')
        let main = await lcQuestion('您的入口文件')
        let author = await lcQuestion('作者是谁')
    
        let content = `{
            "name": ${name},
            "version": "1.0.0",
            "description":${description},
            "main": ${main},
         }`
        fs.writeFile('package.json',{flag:'r',encoding:'utf-8'},function(err,data){
            console.log(data)
            console.log(data)
            r1.close(()=>{
                process.exit()
            })
        })
    }
    creatPakage()
    
    
    
    

    相关文章

      网友评论

          本文标题:fs 读取文件

          本文链接:https://www.haomeiwen.com/subject/qsejwhtx.html