node.js基础--01

Author nodes:(题记)

node.js is an open-source,cross-platform JAVAScript runtime environment。

node.js是一个开源,跨平台的js运行环境

common commands(常用指令)

1、C: 

enter hard disk

进入硬盘

2、cd 文件夹名

enter folder

进入文件夹

3、dir

review all of folders

查看所有的文件夹

4、dir /s

review all of files

查看所有的文件

5、node 文件名 

start the file of javascript

启动js文件

 Buffer

this can process binary data

buffer可以处理二进制数据

demo(样例)

// alloc
let a = Buffer.alloc(10)
console.log(a)

// allocUnsafe  包含旧的内存数据每次会更新
let b = Buffer.allocUnsafe(10)
console.log(b)

// from
let c = Buffer.from('hello')
console.log(c)

// toString()
console.log(c.toString())

processes and threads(进程和线程)

process is a procedure in computer.A process has at least one thread.

进程是在计算机的某一程序,至少有一个线程。

 fs(file system文件系统)

'fs' module can read,write,add,delete file,

fs模块可以读,写,增,删文件

This is a built-in module in node.js

这是一个node.js的内置模块

demo(样例)

// 引入fs
const fs = require('fs')

// 写入文件
fs.writeFile('./今天.txt','今天很开心',err => {
    if (err) {
        console.log('写入失败!')
        return
    }
    console.log('写入成功')
})

 Synchronous and asynchronous(同步和异步)

Synchronous and asynchronous are different task.

同步和异步是不同的任务

they can describe task in tems of time.

他们可以以时间角度描述任务。

 writeFile()与writeFileSync()

demo(样例)

// 引入fs
const fs = require('fs')

// 写入文件
fs.writeFile('./今天.txt','今天很开心',err => {
    if (err) {
        console.log('写入失败!')
        return
    }
    console.log('写入成功')
})

// 我比err先执行吗?
console.log('我比err先执行吗?')

 the code inside the above ‘writeFile’ function is a asynchronous.the rest is a Synchronous task.

writeFile函数里边的代码是异步任务,剩余是同步任务。

同步写入也是可以的,使用writeFileSync

// 引入fs
const fs = require('fs')

// 同步步写入文件
fs.writeFileSync('./今天.txt','今天很开心')

summary

‘writeFile’ function is a asynchronous task。'writeFileSync' function is a Synchronous task.

writeFile方法是一个异步任务。writeFileSync方法是一个同步方法。

appendFIle()与appendFileSync()

demo(样例)

// 引入fs
const fs = require('fs')

// 异步追加写入文件
fs.appendFile('./今天.txt','今天很开心',err =>{
    if(err){
        console.log('写入失败!')
        return
    }
    console.log('写入成功!')
})

console.log('我先执行!')
// 引入fs
const fs = require('fs')

// 同步追加写入文件
fs.appendFileSync('./今天.txt',`\r\n昨天也很开心`)

extend content(扩展内容)

// 引入fs
const fs = require('fs')

// 同步追加写入文件
fs.appendFileSync('./今天.txt',`\r\n昨天也很开心`)

// writeFile()实现追加
fs.writeFile('./今天.txt','\r\n明天更美好',{flag:'a'},err => {
    if (err) {
        console.log('失败!')
        return
    }
    console.log('成功!');
})

createWriteStream()  文件流写入

demo

// 引入fs
const fs = require('fs')

// 创建写入流对象
const ws = fs.createWriteStream('./今天.txt');

// 写入
ws.write('第一行\r\n');
ws.write('第二行\r\n');
ws.write('第三行\r\n');
ws.write('第四行\r\n');

// 关闭通道
ws.close();

extend content 延申 超级详细!!!node.js中读写文件方法总结

rename()

this function can change file name and .move file.

这个方法可以改变文件名和移动文件

 demo(样例)

change file name

const { log } = require('console')
const fs = require('fs')

// 直接调用rename方法
fs.rename('./今天.txt','./新的今天.txt',err => {
    if(err){
        console.log('改名失败!');
        return
    }
    console.log('改名成功!');
})

 move file

const { log } = require('console')
const fs = require('fs')

// 直接调用rename方法
fs.rename('./新的今天.txt','../新的今天.txt',err => {
    if(err){
        console.log('移动失败!');
        return
    }
    console.log('移动成功!');
})

remark :'renameSync()' funciton is a a synchronous task to change filename or remove file.

备注:'renameSync()'是一个改变文件名或者移动文件的同步任务

unlink()

this function can delete file.

这个方法可以删除文件

demo(样例) 

const { log } = require('console')
const fs = require('fs')

// 直接调用unlink方法
fs.unlink('../新的今天.txt', err => {
    if(err){
        console.log('删除失败!');
        return
    }
    console.log('删除成功!');
})

 mkdir()/readdir()/rmdir()

demo(样例)

const { log } = require('console')
const fs = require('fs')

// 直接调用mkdir方法
fs.mkdir('./新的今天', err => {
    if(err){
        console.log('创建失败!');
        return
    }
    console.log('创建成功!');
})
const { log } = require('console')
const fs = require('fs')

// 直接调用mkdir方法
fs.mkdir('./a/b/c',{recursive:true}, err => {
    if(err){
        console.log('创建失败!');
        return
    }
    console.log('创建成功!');
})
const { log } = require('console')
const fs = require('fs')

// 直接调用readdir方法
fs.readdir('../node', (err,data) => {
    if(err){
        console.log('读取失败!');
        return
    }
    console.log('读取成功!',data);
})
const { log } = require('console')
const fs = require('fs')

// 直接调用rmdir方法
fs.rmdir('./a', {recursive:true},(err) => {
    if(err){
        console.log('删除失败!');
        return
    }
    console.log('删除成功!');
})

 view file source information(查看文件资源信息)

demo(样例)

const { log } = require('console')
const fs = require('fs')

// 直接调用stat方法
fs.stat('./day1.js', (err,data) => {
    if(err){
        console.log('查看失败!');
        return
    }
    console.log('查看成功!',data);
})

remark:you can use 'isFile()' function to check if this is a file. In addition,you can also use 'isDirectory' function to check if this is a directory

备注:你可以用isFile方法去检查这个是不是一个文件,另外,你也可以用isDirectory方法去检查这个是不是一个文件夹。

const { log } = require('console')
const fs = require('fs')

// 直接调用stat方法
fs.stat('./day1.js', (err,data) => {
    if(err){
        console.log('查看失败!');
        return
    }
    console.log('查看成功!',data);
    console.log('是文件吗?',data.isFile())
    console.log('是文件夹吗?',data.isDirectory());
})

there is a small case to change file name in bulk.

这里有一个批量更改文件名的实例。

const { log } = require('console')
const fs = require('fs')

const filename = fs.readdirSync('./test',);
filename.forEach(i => {
    let data = i.split('-')
    let [num,name] = data
    if (Number(num) < 10) {
        num = '0' + num
    }
    let newName = num + '-' + name
    fs.renameSync(`./test/${i}`,`./test/${newName}`)
})

后续添加。。。 

  • 16
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值