fs 读取文件



// 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) //
显示的是 16进制 其实是 2进制 因为  2进制  太长了


开辟一个新的缓存空间
let buf2 = Buffer.alloc(size)

let buf2 = Buffer.alloc(10)
let buf2 = Buffer.alloc(10)
buf2[0] = 10  




*/




// 读取目录 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 读取文件)