Buffer基本操作和路径API

一。1.nsole.log(process.argv);参数一:nodejs环境的路径;参数二表示:当前执行的js文件全 路径
//console.log(process.arch);打印当前系统的架构x64
2…nodejs是模块化开发;

	如何定义一个模块:一个JS文件即一个模块(当模块名相同时,只加载最前面的文件)
	模块内部成员相互独立
	模块成员的导出和导入
        导入:var module=require("文件名");
	导出(在被导入的文件中写):exports.sum=sum;
	 或者:module.exports=sum;
	模块文件的后缀名有三种形式:.js   .json   .node(不推荐使用)

3Buffer:本质是一个字节数组

//let buf=new Buffer(2);
 //console.log(buf);
 //let buf=new Buffer(2);
 //console.log(buf);//<Buffer 00 00>
  //新写法:
 //let buf1=Buffer.alloc(4);
 //console.log(buf1)//<Buffer 00 00 00 00>

读取其他数据然后转换成16进制

//let buf2=Buffer.from('allow');
 //console.log(buf2.toString());//将16进制的数转为字符
 //判断数据是否为Buffer类型
 //console.log(Buffer.isBuffer(buf2))//true
 //let buf3=Buffer.from('中国');
 //console.log(Buffer.byteLength(buf3));//字节长度为6
 //let buf3=Buffer.from('中国','ascii');
 //console.log(Buffer.byteLength(buf3));//2

concat表示字节数组的拼接

//let buf4=Buffer.concat([buf2,buf3]);
 //console.log(buf4);

Buffer实例化方法:

//let buf5=Buffer.alloc(4);
 //buf5.write('hello');//给buf5中写入hell
 //console.log(buf5);
 //let buf5=Buffer.alloc(5);
 //buf5.write('hello',2,2);//从buf5中索引为2的位置开始,写入he
 //console.log(buf5);

.slice();截取

let buf6=Buffer.from('world');
 bufs=buf6.slice(2,3);//包含开始
 console.log(bufs.toString());//r

.toJson();不需要显示调用
// 在json.stringify()方法调用时会自动被调用

let buf7=Buffer.from('world');
 let json=JSON.stringify(buf7);
 console.log(json);
 //{"type":"Buffer","data":[119,111,114,108,100]}

二。路径相关
1.

const path=require('path');
//获取路径最后一个部分
//console.log(path.basename('/foo/bar/baz/asdf/quux.html'));
//去掉后缀名
//console.log(path.basename('/foo/bar/baz/asdf/quux.html','.html'));
//获取文件的扩展名
 console.log(path.extname('index.html'));//.html

2.路径的格式化处理

//__dirname:获取当前文件路径,但不包含文件名
 //let s=path.parse(__dirname);//.parse()将字符串转为对象格式
 /*
  * {  root: 'F:\\',
    dir: 'F:\\前端练习',
    base: 'ES6相关',
    ext: '',
    name: 'ES6相关'
     }*/
 let s=path.parse(__filename);//精确到文件名及后缀
 /*
  * { root: 'F:\\',
   dir: 'F:\\前端练习\\ES6相关',
   base: '路径API.js',
   ext: '.js',
   name: '路径API' 
   }*/
 console.log(s);

3判断是否为绝对路径

console.log(path.isAbsolute('/foo/bar/baz'));//true
 //若写文件名则为false

4.拼接路径和规范化路径

console.log(path.join('/foo','bar','baz/asdf','query','../../'));
 //\foo\bar\baz\

console.log(path.normalize('C://temp\\\\foo\\bar\\..\\'));
 //C:\temp\foo\

5.计算相对路径和绝对路径

//计算相对路径
 console.log(path.relative('C:\\orandea\\test\\aaa', 'C:\\orandea\\impl\\bbb'));
 //..\..\impl\bbb
//计算绝对路径
 console.log(path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif'));
 //F:\前端练习\ES6相关\wwwroot\static_files\gif\image.gif

6.两个属性

//两个特殊属性
 console.log(path.delimiter);//  环境变量的分隔符(windows中 ;   linux中 :)
 console.log(path.sep); // 表示路径的分隔符(window是\   linux /)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值