Nodejs文件操作相关(一)

文件操作
异步I/O
1、 文件操作
2、网络操作

在浏览器中也存在异步操作
1、定时任务
2、事件处理
3、Ajax回调处理

js运行是单线程的
引入事件队列机制

Node.js中的事件模型与浏览器中的事件模型类似
单线程+事件队列

Node.js中异步执行的任务
1、文件I/O
2、网络I/O

基于回调函数的编码分割
同步异步是基于方法后有误Sync,如果有则是同步,没有则是异步(同步方法是通过返回值获取内容,异步方法是通过回调函数来获取内容)
// path模块
// const path = require("path")

// path.join拼接路径
// var root = path.join("C:","/pro/music","hello/","world","..")
// console.log(root)

// 两个特殊属性
// console.log(path.delimiter); //表示环境变量分隔符(windows是; linux是:)
// console.log(path.sep); // 表示路径分割符(windows是\ linux是/)


// fs模块
// 1、文件
// const fs = require("fs")
// 异步操作
// stat:查看文件
// fs.stat("./demo001.js",(err,stat) => {
//     // 一般回调函数的第一个参数是错误对象,如果err为null,表示没有错误,否则报错
//     if(err) return;
//     if(stat.isFile()){
//         console.log("文件");
//     }else if(stat.isDirctory()){
//         console.log("目录")
//     }
//     console.log(stat)
//     /*
//     atime:访问时间
//     mtime:文件数据发生改变的时间
//     ctime:文件的一些状态(权限)发生改变的时间
//     birthtime:文件创建的时间
//     */
// });

// 同步操作
// let ret = fs.statSync('./demo001.js');
// console.log(ret);

// 读文件操作
const fs = require("fs");
const path = require("path");

let strpath = path.join(__dirname,'demo001.js');
// 方式一
fs.readFile(strpath,(err,data) => {
    if(err) return;
    console.log(data.toString());
})
// 方式二(如果有第二个参数并且是编码,那么回调函数获取到的数据就是字符串
// 如果没有第二个函数,那么得到的局势Buffer实例对象)
fs.readFile(strpath,'utf8',(err,data)=>{
    if(err) return;
    console.log(data);
})

你可能感兴趣的:(nodejs)