nodejs笔记二--文件I/O;
一、写入文件;
fs.writeFile(filename, data, callback),数据参数可以是string或者是Buffer,编码格式参数可选,默认为"utf8",回调函数只有一个参数err。
var fs= require("fs"); fs.writeFile('test.txt', 'Hello Node', function (err) {
if (err) throw err;
console.log('Saved successfully'); //文件被保存
});
二、追加写入文件;
writeFile函数虽然可以写入文件,但是如果文件已经存在,我们只是想添加一部分内容,它就不能满足我们的需求了,很幸运,fs模块中还有appendFile函数,它可以将新的内容追加到已有的文件中,如果文件不存在,则会创建一个新的文件。使用方法如下:
var fs= require("fs"); fs.appendFile('test.txt', 'data to append', function (err) {
if (err) throw err; //数据被添加到文件的尾部
console.log('The "data to append" was appended to file!');
});
三、检查文件是否存在;
检查一个文件是否存在实用exists,exists的回调函数只有一个参数,类型为布尔型,通过它来表示文件是否存在。
var fs= require("fs"); fs.exists('/etc/passwd', function (exists) {
console.log(exists ? "存在" : "不存在!");
});
四、修改文件名;
rename函数提供修改名称服务,实用方法如下:
var fs= require("fs"); fs.rename(旧文件,新文件,回调函数(err){
if (err) throw err;
console.log('Successful modification,');
});
五、移动文件;
移动文件也是我们经常会遇见的,可是fs没有专门移动文件的函数,但是我们可以通过rename函数来达到移动文件的目的,示例如下。
var fs = require('fs'); fs.rename(oldPath,newPath,function (err) {
if (err) throw err;
console.log('renamed complete');
});
六、读取文件;
读取文件是最常用到的功能之一,使用fs模块读取文件语法如下:
例:fs.readFile(文件,编码,回调函数);
var fs = require('fs'); fs.readFile(文件名, function (err, data) {
if (err) throw err;
console.log(data);
});
回调函数里面的data,就是读取的文件内容。
七、删除文件;
面对一推垃圾文件,可以使用unlink函数来进行删除;
var fs = require('fs'); fs.unlink(文件, function(err) {
if (err) throw err;
console.log('successfully deleted');
});
八、创建目录;
除了针对文件的操作,目录的创建、删除也经常遇到的,下面我们来看看node.js中如何创建目录:
fs.mkdir(路径,权限,回调函数(err));
路径:新创建的目录。
权限:可选参数,只在linux下有效,表示目录的权限,默认为0777,表示文件所有者、文件所有者所在的组的用户、所有用户,都有权限进行读、写、执行的操作。
回调函数:当发生错误时,错误信息会传递给回调函数的err参数。
九、删除目录;
删除目录也是必不可少的功能,rmdir函数可以删除指定的目录:
var fs = require('fs'); fs.rmdir(path, function(err) {
if (err) throw err;
console.log('ok');
});
十、读取目录;
如果要读取目录下所有的文件应该怎么办呢?readdir函数可以读取到指定目录下所有的文件,示例如下:
var fs = require('fs'); fs.readdir(目录,回调函数(err,files));
回调函数 (callback) 接受两个参数 (err, files) 其中 files 是一个存储目录中所包含的文件名称的数组,数组中不包括 '.' 和 '..'。
nodejs笔记二--文件I/O;的更多相关文章
- linux学习笔记二-----文件权限管理
一.分析文件权限(ln -s 文件名 快捷方式名 用来创建文件的快捷方式,下方ll查看信息时会在第一个字符处显示l) [hjp@bogon ~]$ ll total 4 drwxrwxr-x. 2 h ...
- nodejs笔记之文件操作
文件操作包含: 读取文件 写入文件 删除文件 创建目录 删除目录 读取文件: // 异步操作 var fs = require("fs"); fs.readFile(". ...
- Linux System Programming 学习笔记(二) 文件I/O
1.每个Linux进程都有一个最大打开文件数,默认情况下,最大值是1024 文件描述符不仅可以引用普通文件,也可以引用套接字socket,目录,管道(everything is a file) 默认情 ...
- APUE 学习笔记(二) 文件I/O
1. 文件I/O 对于内核而言,所有打开的文件都通过文件描述符引用,内核不区分文本文件和二进制文件 open函数:O_RDONLY O_WRONLY O_RDWR create函数: close函 ...
- 前端笔记之NodeJS(二)路由&REPL&模块系统&npm
一.路由机制(静态资源文件处理) 1.1 Nodejs没有根目录 MIME类型:http://www.w3school.com.cn/media/media_mimeref.asp 在Apache中, ...
- python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码
python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...
- Linux系统运维笔记(二),Linux文件编辑命令
Linux系统运维笔记 Linux文件编辑命令 首先我们使用命令 vi filename 打开一个文件,这个时候进入到的是命令模式 接下来我们按i,然后键盘随便输入写内容. 然后按ESC重新进入到命令 ...
- NodeJS 难点(网络,文件)的 核心 stream 二:stream是什么
对于大部分有后端经验的的同学来说 Stream 对象是个再合理而常见的对象,但对于前端同学 Stream 并不是那么理所当然,github 上甚至有一篇 9000 多 Star 的文章介绍到底什么是 ...
- 《CMake实践》笔记二:INSTALL/CMAKE_INSTALL_PREFIX
<CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...
随机推荐
- Linux下切换用户
0x01 使用命令[su username] 这种方法能切换普通用户和root用户 0x02 从普通用户切换到root用户,还可以使用命令[sudo su] 0x03 su 是switch user的 ...
- 创建parameter id
Custom Parameter-id Creation By Abhijit Daptary, Capgemini India Step1: Creation of parameter ID. P ...
- iOS键盘类型
一.键盘风格 UIKit框架支持8种风格键盘. typedef enum { UIKeyboardTypeDefault, // 默认键盘:支持所有字符 UIKeyboa ...
- 05-Tom猫(UIImageView的简单运用)
ViewController.h文件中: @interface ViewController : UIViewController @property (weak, nonatomic) IBOutl ...
- 如何解除改变phpmyadmin数据库导入文件大小限制?
1.进到自己的系统里面 打开php.ini的配置文件 修改php.ini: file_uploads on 是否允许通过HTTP上传文件的开关.默认为ON即是开 upload_tmp_d ...
- Silverlight DataGrid数据行背景颜色控制
sdk:DataGrid数据绑定后,部分特殊的行需要用不同的背景颜色来显示.(注册DataGrid的LoadingRow事件) private void radGridView_LoadingRow( ...
- UltraEdit20 注册
UltraEdit v20下载与注册机 UltraEdit是一套功能强大的文本编辑器,可以编辑文本.十六进制.ASCII 码.HTML.PHP.Perl.Java 和 JavaScript等众多流行计 ...
- Java入门到精通——调错篇之解决MyEclipse 输入注册码后:Enter or update your subscription information.问题
这几天,我用MyEclipse做例子的时候总是出现下面图上面的提示: 不用看就是注册码到期了要注册.找了好几个注册码总是出现Enter or update your subscription info ...
- ED/EP系列2《文件结构》
电子存折/电子钱包应用是为持卡人进行金融交易而设计的一种应用.对于一张金融 IC 卡来说,它可以同时支持电子存折和电子钱包两种应用,也可以只支持其中的一种.卡片上两种应用的存在情况可以由应用类型标识( ...
- 教你怎么安装Redis
以下命令以root用户运行:#cd /tmp/#wget http://redis.googlecode.com/files/redis-2.6.11.tar.gz#tar xzf redis-2.6 ...