比较缓冲器
拷贝缓冲区
路由指的就是我们要针对不同的URL有不同的处理方式,例如处理/start的业务逻辑和处理/upload模块 的业务;逻辑就
是不一致的。
Node.js 模块系统:
http://www.shouce.ren/api/view/a/3470
代码区:
/** * 比较缓冲器 * buf1.compare(buf2); */ var buffer1 = new Buffer(‘ABC‘); var buffer2 = new Buffer(‘ABCD‘); var result = buffer1.compare(buffer2); console.log(result); if(result < 0) { console.log(buffer1 + ‘ comes before ‘ + buffer2); }else if(result == 0) { console.log(buffer1 + ‘ is same as ‘ + buffer2); }else if(result > 0) { console.log(buffer1 + ‘comes after ‘ + buffer2); } /** * 拷贝缓冲区 */ var buffer1 = new Buffer(‘ABC‘); var buffer2 = new Buffer(3); buffer1.copy(buffer2); console.log(‘buffer2: ‘ + buffer2.toString()); // buffer2: ABC // 缓冲区裁剪 var buffer1 = new Buffer(‘runoob‘); var buffer2 = buffer1.slice(0, 2); console.log(‘buffer2 content: ‘ + buffer2); // 缓冲区长度 // buf.length var buffer = new Buffer(‘www.baidu.com‘); console.log(‘buffer的长度:‘ + buffer.length); // buffer的长度:13 /** * Node.js Stream(流) */ // 从流中读取数据 // 引入文件系统 var fs = require(‘fs‘); var data = ‘‘; // 创建可读流 var readStream = fs.createReadStream(‘input.txt‘); // 设置编码 readStream.setEncoding(‘UTF8‘); // 处理流事件 readStream.on(‘data‘, function (chunk) { data += chunk; }); readStream.on(‘end‘, function () { console.log(data); }); readStream.on(‘error‘, function (err) { console.log(err.stack); }); console.log(‘程序执行完毕!‘); // 写入流 // 引入文件系统模块 var fs = require(‘fs‘); var data = ‘这是百度的网址:www.baidu.com‘; var createFile = ‘output.txt‘; var writeStream = fs.createWriteStream(createFile); // 使用 utf8 编码写入数据 writeStream.write(data, ‘UTF8‘); // 标记文件末尾 writeStream.end(); // 文件写入完成 writeStream.on(‘finish‘, function () { console.log(‘写入完成‘); }); // 出错提示 writeStream.on(‘error‘, function (err) { console.log(err.stack); }); console.log(‘程序执行完毕!‘); // 管道流 // 从一个流中获取数据并传递到另一个流中去 // 读取一个文件内容并将内容写入到另外一个内容中去 // 引入文件系统 var fs = require(‘fs‘); // 创建一个可读流 var readStream = fs.createReadStream(‘input.txt‘); // 创建一个可写流 var writeStream = fs.createWriteStream(‘output.txt‘); // 管道读写操作 readStream.pipe(writeStream); console.log(‘程序执行完毕!‘); // 链式流 // 连接输出流到另外一个流,并创建多个流操作链 // 引入文件系统模块 var fs = require(‘fs‘); // 引入压缩模块 var zlib = require(‘zlib‘); // 创建可读流 fs.createReadStream(‘input.txt‘) .pipe(zlib.createGzip()) .pipe(fs.createWriteStream(‘input.txt.gz‘)); console.log(‘文件压缩完成‘); // createGunzip() // 链式流解压文件 var fs = require("fs"); var zlib = require(‘zlib‘); // 解压 input.txt.gz 文件为 input.txt fs.createReadStream(‘input.txt.gz‘) .pipe(zlib.createGunzip()) .pipe(fs.createWriteStream(‘input.txt‘)); console.log("文件解压完成。"); // Node.js 模块系统 // Node.js 函数 function say(word) { console.log(word); } function execute(f, v) { f(v); } execute(say, ‘some words‘); // 传入匿名函数 execute(function (word) { console.log(word); }, ‘some words‘); // 函数传递是如何让HTTP服务器工作的 var http = require(‘http‘); http.createServer(onRequest).listen(8080); function onRequest(request, response) { response.writeHead(200, {‘Content-Type‘: ‘text/plain‘}); response.write(‘some words‘); response.end(); } // Node.js 路由 // 需要 url 和 querystring 模块 var http = require(‘http‘); var url = require(‘url‘); http.createServer(onRequest).listen(8080); function onRequest(request, response) { response.writeHead(200, {‘Content-Type‘: ‘text/plain‘}); response.write(‘some words‘); response.end(); } // Node.js 全局对象global // __filename:当前正在执行脚本的文件名 console.log( __filename ); // E:\demo\node\demo01.js // 当前执行脚本所在的目录 console.log(__dirname); // E:\demo\node // 全局变量 process,是global对象的属性 // process是描述当前Node.js 进程状态的对象 process.on(‘exit‘, function (code) { setTimeout(function () { console.log(‘该代码永远不会执行‘); }, 0); console.log(‘退出码:‘ + code); // 0 }); console.log(‘程序执行结束‘); // 输出到终端 process.stdout.write(‘some words‘ + ‘\n‘); // 通过参数读取 process.argv.forEach(function (val, index, array) { console.log(index + ‘: ‘ + val); }); /** * 0: D:\node_install\node.exe * 1: E:\demo\node\demo01 */ // 获取绝对路径 console.log(process.execPath); // D:\node_install\node.exe // 获取平台信息 console.log(process.platform); //win32 // 输出当前目录 console.log(process.cwd()); //E:\demo\node // 输出当前版本 console.log(process.version); // 输出内存使用情况 console.log(process.memoryUsage());
时间: 2024-10-11 12:03:12