博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node.Js fs模块文件操作(一)
阅读量:4288 次
发布时间:2019-05-27

本文共 2959 字,大约阅读时间需要 9 分钟。

一、字符串操作文件

1.fs.writeFile(filename,data,[options],callback); 创建并写入文件

/**

 * filename, 必选参数,文件名
 * data, 写入的数据,可以字符或一个Buffer对象
 * [options],flag 默认‘2’,mode(权限) 默认‘0o666’,encoding 默认‘utf8’
 * callback  回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。
 */

//创建文件var fs=require('fs');//如果文件目录不存在,抛出异常:{ [Error: ENOENT, open 'f:\test1\one.txt'] errno: -4058, code: 'ENOENT', path: 'f:\\test1\\one.txt' }//如果文件已经存在,则重新创建fs.writeFile('f:\\test1\\one.txt','文件内容2',function(err){	if(err)		return console.error(err);	console.log('写入文件成功');});var w_data = '这是一段通过fs.writeFile函数写入的内容;\r\n';var w_data = new Buffer(w_data);console.info(w_data); //
fs.writeFile('f:\\test1\\one.txt',w_data,function(err){ if(err) return console.error(err); console.log('写入文件成功');});
2.readFile(filename,[options],callback); 读取文件内容

//字符串方式读取文件

/**
 * filename, 必选参数,文件名
 * [options],可选参数,可指定flag 默认为‘r’,encoding 默认为null,在读取的时候,需要手动指定
 * callback 读取文件后的回调函数,参数默认第一个err,第二个data 数据
 */

var fs=require('fs');var path=require('path');var file1=path.resolve('/test1/one.txt');//如果文件不存在,抛出异常 { [Error: ENOENT, open 'F:\test2\one.txt'] errno: -4058, code: 'ENOENT', path: 'F:\\test2\\one.txt' }fs.readFile(file1,function(err,data){	if(err)		return console.error(err);	//获取到文件的所有内容	//默认没有指定编码,返回结果如下	console.log(data); //
});//读取需要制定编码fs.readFile(file1,{flag:'r+',encoding:'utf8'},function(err,data){ if(err) return console.error(err); //获取到文件的所有内容 console.log(data);});
3.fs.exists(path, callback);  判断文件或目录是否存在

/**

 * path, 要查看目录/文件的完整路径及名;
 * [callback(exists)], 操作完成回调函数;exists true存在,false表示不存在
 */

//判断文件是否存在var fs=require('fs');var path=require('path');var file1=path.resolve('/test1/one.txt');fs.exists(file1,function(exists){	if(exists){		console.log('文件存在');	}else{		console.log('文件不存在');	}});
4.fs.stat(path, callback)  获取文件信息
/*
 * path - 文件路径。
 * callback - 回调函数,带有两个参数如:(err, stats), stats 是 fs.Stats 对象
 */

//获取文件信息var fs = require('fs');var path = require('path');var file1 = path.resolve('/test1/one.txt');fs.stat(file1, function(err, stats) {    console.info(stats);    console.info(stats.isFile()); //true    console.info(stats.isDirectory()); //false});
5.fs.appendFile(filename,data,[options],callback);  已追加方式写文件
// 参数同 fs.writeFile

var fs = require('fs');var path = require('path');var file1 = path.resolve('/test1/one2.txt');//如果文件夹不存在,抛出异常{ [Error: ENOENT, open 'F:\test2\one2.txt'] errno: -4058, code: 'ENOENT', path: 'F:\\test2\\one2.txt' }//如果文件不存在,则创建新的文件fs.appendFile(file1, '追加一行新内容\r\n', function(err) {    if (err) {        console.error(err);        return;    }    console.log('追加文件内容成功');});
6.fs.unlink(path, callback)    删除文件
/**
* path - 文件路径。
* callback - 回调函数,没有参数。
*/

var fs=require('fs');var path=require('path');var file1=path.resolve('/test1/one.txt');//删除文件//1.如果文件不存在抛出异常:{ [Error: ENOENT, unlink 'F:\test1\one1.txt'] errno: -4058, code: 'ENOENT', path: 'F:\\test1\\one1.txt' }fs.unlink(file1,function(err){	if(err)		return console.error(err);	console.log('删除文件成功');});

转载地址:http://uyogi.baihongyu.com/

你可能感兴趣的文章
【论文笔记】
查看>>
论文笔记:Exploring Pre-trained Language Models for Event Extraction and Generation
查看>>
论文解读 | QANET: COMBINING LOCAL CONVOLUTION WITH GLOBAL SELF-ATTENTION FOR READING COMPREHENSION
查看>>
linux 安装nginx
查看>>
linux 搭建rocketmq集群
查看>>
linux 安装zookeeper集群
查看>>
RocketMq单机安装(Windows)
查看>>
Windows 上安装 MySQL
查看>>
eclipse 的mybatis中mapper.xml文件标签没有提示的解决方法
查看>>
linux 上一主两从mysql集群中某台数据库宕机解决方法
查看>>
大牛面试指南
查看>>
android入门(一)---UI组件之文本框(TextView)
查看>>
演示动画怎么实现的
查看>>
android入门---Activity组件.活动(一)
查看>>
Android入门---GridView组件
查看>>
获取apk文件上的精美图片素材
查看>>
RelativeLayout中Margin属性
查看>>
JAVA中文乱码解决方法
查看>>
端口号占用问题 serveral ports(8080,8009) are already in use
查看>>
浅析JAVA的抽象和接口
查看>>