Buffer/fs文件/fs流读写方式/fs管道方式/链式流/path路径

1 buffer是什么?可以理解成类似数组的东西
 * 2 作用:用来存二进制数据
 * 3 如何使用?
 */

/**
 * 如何使用?
 * 1 创建buffer的方法
 */
//1通过new的形式 创建一个对象出来 里面传一个参数 具体的数字 表示创建一个多少字节的buffer
var buff = new Buffer(10);
console.log(buff);
//2也是通过new的形式  里面可以传数组  表示已经把数据放进去了
var buff2 = new Buffer([1,2,3,4]);
console.log(buff2);
//传字符串
var buff3 = new Buffer("www.baidu.com");
console.log(buff3);
//操作 读 写
// 3 写入内容
var buff5 = new Buffer(256);
console.log(buff5);
buff5.write('www.runoob.com','utf-8');
console.log(buff5);
//4 读取buffer的内容
console.log(buff5.toString());
//5 copy 拷贝(复制粘贴)
var buff6 = new Buffer([4,5,6,7,8,9]);
var buff7 = new Buffer([1,2,3]);
// 把buff7 拷贝给buff6
buff7.copy(buff6);
console.log(buff6);
 
  1. fs文件基本操作
 
  

1.1. fs模块

 
  

var fs = require("fs");//fs 系统文件模块,对文件进行操作.

 
  

 

 
  

Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync()

 
  

1.2. 文件读取

 
  

var fs = require("fs");

 
  

// 异步读取

 
  

fs.readFile('input.txt', function (err, data) {

 
  

   if (err) {

 
  

       return console.error(err);

 
  

   }

 
  

   console.log("异步读取: " + data.toString());

 
  

});

 
  

 

 
  

// 同步读取

 
  

var data = fs.readFileSync('input.txt');

 
  

console.log("同步读取: " + data.toString());

 
  

console.log("程序执行完毕。");

 
  

1.3. 文件信息

 
  

语法

 
  

以下为通过异步模式获取文件信息的语法格式:

 
  

fs.stat(path, callback)

 
  

 

 
  

参数

 
  

参数使用说明如下:

 
  

path - 文件路径。

 
  

callback - 回调函数,带有两个参数如:(err, stats), stats fs.Stats 对象。

 
  

fs.stat(path)执行后,会将stats类的实例返回给其回调函数。可以通过stats类中的

 
  

 

 
  

      提供方法判断文件的相关属性。例如判断是否为文件:

 
  

var fs = require('fs');

 
  

fs.stat('./my.txt', function (err, stats) {

 
  

     console.log(stats.isFile()); //true

 
  

});

 
  

1.4. fs写文件

 
  

语法

 
  

以下为异步模式下写入文件的语法格式:

 
  

fs.writeFile(filename, data[, options], callback)

 
  

如果文件存在,该方法写入的内容会覆盖旧的文件内容。

 
  

 

 
  

参数

 
  

参数使用说明如下:

 
  

path - 文件路径。

 
  

data - 要写入文件的数据,可以是 String(字符串) Buffer() 对象。

 
  

options - 该参数是一个对象,包含 {encoding, mode, flag}。默认编码为 utf8, 模式为 0666 flag 'w'

 
  

callback - 回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。

 
  

 

 
  

实例

 
  

接下来我们创建 file.js 文件,代码如下所示:

 
  

var fs = require("fs");

 
  

console.log("准备写入文件");

 
  

fs.writeFile('input.txt', '我是通过写入的文件内容!',  function(err) {

 
  

   if (err) {

 
  

       return console.error(err);

 
  

   }

 
  

   console.log("数据写入成功!");

 
  

});

 
  

 

 
  

1.5. fs删除文件

 
  

语法

 
  

以下为删除文件的语法格式:

 
  

fs.unlink(path, callback)

 
  

 

 
  

参数

 
  

参数使用说明如下:

 
  

path - 文件路径。

 
  

callback - 回调函数,没有参数。

 
  

 

 
  

实例

 
  

var fs = require("fs");

 
  

 

 
  

console.log("准备删除文件!");

 
  

fs.unlink('./my.txt', function(err) {

 
  

   if (err) {

 
  

       return ;

 
  

   }

 
  

   console.log("文件删除成功!");

 
  

});

 
  

 

 
  

1.6. fs获取目录中的文件

 
  

//获取当前目录下面所有的文件及文件夹

 
  

fs.readdir(".",function(err,files){

 
  

     console.log(files);

 
  

});

 
  

1.7. fs删除空文件夹

 
  

语法

 
  

以下为删除文件的语法格式:

 
  

fs.rmdir(path, callback)

 
  

 

 
  

参数

 
  

参数使用说明如下:

 
  

path - 文件夹路径。

 
  

callback - 回调函数,没有参数。

 
  

 

 
  

var fs = require(“fs”);

 
  

fs.rmdir('./aaa', function(err) {

 
  

   if (err) {

 
  

       return ;

 
  

   }

 
  

   console.log("文件夹删除成功!");

 
  

});


/*
* * Created by Administrator on 2016/10/29. */ /** * node 里面有个特点 同步(readFileSync) 和异步(方法名称 readFile) * 特点: 异步方法 通常都有回调 * 1 引入模块 */ var fs = require('fs'); // // //读取文件 同步 异步 // var rs = fs.readFileSync('./data/01','utf-8'); // console.log(rs); // //异步方法 // fs.readFile('./data/youguo3.jpg',function (err,data) { // if(err){ // console.log("文件读取错误"); // }else { // console.log(data); // } // }); // // 文件相关信息 // fs.stat('./data',function (err,stats) { // console.log(stats.isFile()); //isFile() 判断是否是文件 如果是文件 返回true 不是返回false // }); // // //把内容写入到文件里面 // //同步和异步 // //同步写入 第一个参数 待写入文件的路径 第二个参数 内容 第三个参数 其他的选项 // // 注意: 写入文件内容的时候 如果找不到路径 默认创建 // fs.writeFileSync('./data/02.js','地上鞋两双'); // fs.writeFile('./data/03.js','天王盖地虎',function (err) { // if(err){ // console.log("文件写入错误"); // }else{ // console.log("文件写入成功"); // } // }); // // // // 总结: 读取文件 写入文件 文件的信息 文件的整体删除 文件夹的删除 读取文件夹里面的内容 // // 文件删除 // fs.unlink('./data/444',function (err) { // if (err) { // console.log("文件删除失败!"); // return ; // } // console.log("文件删除成功!"); // }); //读取目录 // fs.readdir('./data',function (err,files) { // console.log(files); //数组 // for(var i = 0;i<files.length;i++){ // fs.unlink('./data/'+files[i]); // } // }) // 如果说要去删除一个文件夹 的时候 1 把所有这个文件夹下面的内容都先读取出来 删掉 2 删掉当前的空的文件夹 // fs.rmdirSync('./data/a'); // 复制文件 写个函数 可以删除文件夹 // function copy(src,target) { // var fs = require('fs'); // //1 先把 被复制的图片内容 读取 // fs.readFile(src,function (err,data) { // if(err){ // console.log("复制错误"); // }else{ // //2 把这个内容再写入到target // fs.writeFileSync(target,data); // } // }) // } //copy('./data/youguo3.jpg',"./data/xxx2.jpg"); //删除文件夹 function delDir(delPath) { var fs = require('fs'); //1 先读取出这个目录下的所有文件 获取到一个数组 readdir var files = fs.readdirSync(delPath); //遍历数组 for(var i=0;i<files.length;i++){ //拼路径 判断是不是文件夹 是删除 var path = delPath + "/"+files[i]; var stats = fs.statSync(path); // 判断是不是文件夹 if(stats.isFile()){ fs.unlinkSync(path); }else{ delDir(path); } } fs.rmdirSync(delPath); } delDir('./data');

 

fs 文件模块 ---> 可以操作文件  读/写文件的内容
var fs = require('fs');
读:
   fs.readFile(路径,'utf-8',回调函数)   //异步方法
   var data =  fs.readFileSync()   同步方法
   流的方式:
   创建可读流  var readStream = fs.createReadStream(文件路径)

   流的方式和读文件的方式不同: readFile这种形式  一次把所有的内容都读出来   流的形式 把数据分块 一点一点的读

写:
  fs.writeFile(路径,'utf-8',回调函数)   //异步方法
  var data =  fs.writeFileSync()   同步方法
  流的方式:
  创建可读流  var writeStream = fs.createWriteStream(文件路径)
操作文件和文件夹
 删除文件: fs.unlink
 删除空文件夹: fs.rmdir
 读取文件的信息 fs.stat
 读取目录信息   fs.readdir

学习api(某个语言或者框架的方法):最低的要求要知道有这个功能--> 这个功能的名字-->对应的用法

管道:出现的原因  读写的速度不同步
      pipe()
      1 创建一个可读流
      2 创建一个可写流
      3 可读流.pipe(可写流)


账号设置里面需要填写的内容
1 数据库名称  root
2 数据库密码  root

当前安装的系统的管理用户  phpcms
当前安装的系统的密码:默认phpcmns
邮箱    dads@sina.com

 

转载于:https://www.cnblogs.com/lylooooo/p/6870337.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值