day3

node应用场景: 高I/O,多并发

I/O

fs模块就是I/O模型的

并发

同一时间段内,多个程序在执行(处于启动与完毕之间)

node是高并发的

node 是单线程执行,用异步替代了多线程

进程

给应用程序分配资源 为运行当中的应用程序提供运行环境,一个应用程序对应一个进程

线程

执行代码, 一个线程在一个时间只能做一件事件,多线程调度起来很麻烦

  • 异步:
  • 异步非I/O操作 ===> 定时器
  • 异步I/O操作 (不会阻塞) ===> readFile

异步&同步

  • 异步不会阻塞后边的代码,同步会阻塞后边的代码
  • 一条线程先执行同步的代码,后执行异步的代码

    try catch 只能捕获同步代码的异常

异步异常对象和try catch捕获的异常对象是一样的

文件操作(都是成对出现的(+Sync)): 核心模块的方法fs.*

不要同时操作同一个文件

0. access

不光可以判断文件,也可以判断文件夹

1. readFile(如果不写"utf8"编码,会出现buffer机器认识的语言)

2. writeFile( 路径, 内容, 编码格式, 回调函数(1个err参数) )

多次写入会把原来的内容覆盖, 文件不存在的时候会创建文件,但是不会创建文件夹

3. appendFile

追加内容, 文件不存在的时候会创建文件,但是不会创建文件夹

4. mkdir

创建文件夹

5. readdir(err, files)

只会读取指定的子集文件夹,读出来的内容以数组形式展示

6. stat 判断路径

判断这个文件(夹)是否存在,回调函数中有两个参数(err, stats), stats有多个方法,可以判断是否文件及文件夹等等

核心模块path

  1. path.join方法
  2. path.basename
  3. path.extname

    取文件后缀名

results matching ""

    No results matching ""