// 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()
网友评论