标签:length 指定 reads mon 获取 creates 文件操作 cli test
Buffer对象的使用(了解)
//开辟4个字节的空间存储数据
let buffer = new Buffer(4);
//创建完成后,buffer分配的内存可能有数据
//清空buffer对象
buffer.fill(0);
//直接存储数据在buffer中
let buffer = new Buffer("hello itcast");
读取文件中遇到的Buffer
var fs = require("fs");
fs.readFile("01-buffer.js", function (err,content) {
//此处的content就是Buffer
console.log(content);
});
fs.readFile("01-buffer.js","utf8", function (err,content) {
//指定了编码后,获取到的content是字符串
console.log(content);
});
Buffer支持的编码
支持gb2312-第三方包 iconv-lite
Buffer的常见方法
File System
操作文件夹
mkdir() 异步创建文件夹
rmdirSync() 同步删除文件夹
rmdir() 异步删除文件夹
判断文件是否存在
操作文件
stat() 获取文件的相关属性
watchFile() 监控文件或文件夹内文件的改变
练习:监视文件abc/abc.txt,如果文件发生变化把内容拷贝到target/123.txt
拷贝文件:
文件流操作
拷贝大文件带进度
```javascript "use strict"
const fs = require("fs");
let sourceFile ="xdy.avi"; let targetFile = "123.itcast";
//文件流读写 进行大文件复制 //创建读流对象 let rs = fs.createReadStream(sourceFile); //创建写流对象 let ws = fs.createWriteStream(targetFile);
//文件大小
let fileSize = fs.statSync(sourceFile).size;
//总共写入的大小
let writeTotal = 0;
//监听data事件
rs.on("data", chunk => {
//每次读到的数据 buffer对象
writeTotal += chunk.length;
//把chunk写入目标文件
ws.write(chunk);
console.log(writeTotal/fileSize * 100);
});
//读取完毕
rs.on("end", ()=>{
console.log("文件读取完毕");
//写入结束
ws.end(()=>{
console.log("文件写入完毕");
});
});
```
- 管道拷贝大文件
```javascript
"use strict"
const fs = require("fs");
let sourceFile ="xdy.avi";
let targetFile = "123.itcast";
let rs = fs.createReadStream(sourceFile);
let ws = fs.createWriteStream(targetFile);
rs.pipe(ws);
```
网络的概念
IP和端口的概念
Socket的概念
打开telnet
程序和功能-->
自己开发一个小服务器
"use strict";
const net = require("net");
//创建server对象
let server = net.createServer();
//监听连接到服务器上的客户端
server.on("connection", (socket) => {
console.log("haha");
//服务器的socket
//向客户端发送消息
socket.write("welcome to my server");
socket.on("data", (content) => {
//服务器发送的内容。buffer
console.log(content.toString());
});
});
//监听端口
server.listen(8888,()=>{
console.log("正在监听...");
});
"use strict";
var net = require("net");
let port = 8888;
let ip = "127.0.0.1";
//连接服务器
let client = net.createConnection(port,ip,()=>{
console.log("连接服务器成功");
//向服务器发送消息
client.write("你好服务器");
});
//接收服务器的消息
client.on("data", (content) => {
//服务器发送的内容。buffer
console.log(content.toString());
});
//注册error事件
socket.on("error",()=>{
console.log("客户端下线");
})
标签:length 指定 reads mon 获取 creates 文件操作 cli test
原文地址:http://www.cnblogs.com/bici/p/6036979.html