写入文件:(异步)
fs.writeFile(file, data[, options], callback)
默认为w模式,会覆盖到文件里面的原文
源码:
参数1:文件路径
参数2:写入数据
参数3:以key-value方式写入,分别为flag:写入方式 encoding:编码方式 mod:权限
参数4:回调函数,常常用来处理报错信息
实例:
var fs = require('fs');
var str = '有些失望是不可避免的,但大部分的失望,都因为你高估了自己。';
fs.writeFile('E:/for_file/5.txt',str,{flag:'a'},function (e) {
if(e){
return console.error(e);
}
});
运行结果:
关闭文件:(异步)
fs.close(fd, callback)
关闭通过fs.open()打开的文件
fd是fs.open()函数返回的文件句柄,callback为回调函数,无参数。
实例:
var fs = require('fs');
fs.open('E:/for_file/6.txt','r',function (e,fd) {
if(e){
return console.error(e);
}
fs.close(fd,function () {
console.log('关闭文件');
});
});
运行结果:
读取文件
源码:
fd是fs.open()返回的文件句柄
buffer是读取后写入的缓冲区对象
offset缓冲区写入的偏移量
length:读取字节数
position:文件读取的起始位置(默认从文件指针读起)
回调函数,三个参数:err,bytesRead(读取字节数),buffer(缓冲区对象)
实例:
var fs = require('fs');
var buf = new Buffer.alloc(1024*1);
fs.open('E:/for_file/6.txt','r',function (e,fd) {
if(e){
return console.error(e);
}
fs.read(fd,buf,0,buf.length,null,function (err,num,buff) {
if(err){
return console.error(err);
}
if(num>0){
console.log(buff.toString());
}
});
fs.close(fd,function () {
console.log('关闭文件');
});
});
fs.ftruncate(fd, len, callback)
截取文件部分内容,len为截取长度,callback无参数
对文件的操作为,截取文件前len的内容,即删去len后面的内容。
实例:
var fs = require('fs');
var buf = new Buffer.alloc(1024*1);
fs.open('E:/for_file/6.txt','r+',function (e,fd) {
if (e) {
return console.error(e);
}
fs.ftruncate(fd,5, function (err) {
if (err) {
return console.error(err);
}
fs.read(fd, buf, 0, buf.length, 0, function (e, num) {
if (e) {
return console.error(e);
}
if (num > 0) {
console.log('hello');
console.log(buf.toString());
}
fs.close(fd, function (e) {
if (e) {
return console.error(e);
}
})
});
});
});
运行结果:
删除文件
fs.unlink(path, callback)
类似为unix的思想,具体可以看其他博文了解
Path:文件路径
Callback:回调函数,无参数
实例:
var fs = require('fs');
fs.unlink('E:/for_file/5.txt',function (e) {
if(e){
console.log(e);
}
});
创建文件夹
fs.mkdir(path[, mode], callback)
path:文件夹路径
mode:即权限,默认为全部权限开放,具体内容,可了解unix的文件系统的权限问题
callback:回调函数,无参数
实例:
var fs = require('fs');
fs.unlink('E:/for_file/5.txt',function (e) {
if(e){
console.log(e);
}
});
运行结果:
读取目录
fs.readdir(path, callback)
path:读取文件夹路径
option:编码方式,默认为空。(不建议使用)
callback:返回两个参数,err和files(文件)
实例:
var fs = require('fs');
var con = fs.readdir('E:/for_file','utf8',function (e,file) {
if(e){
return console.error(e);
}
console.log(file);
});
运行结果:
删除文件夹
fs.rmdir(path, callback)
path:文件路径
callback:回调函数,无参数
实例:
var fs = require('fs');
fs.rmdir('E:/for_file/hope',function (e) {
if(e){
return console.error(e);
}
});
其他常用函数浏览:
序号 | 方法 & 描述 |
1 | fs.rename(oldPath, newPath, callback) |
2 | fs.ftruncate(fd, len, callback) |
3 | fs.ftruncateSync(fd, len) |
4 | fs.truncate(path, len, callback) |
5 | fs.truncateSync(path, len) |
6 | fs.chown(path, uid, gid, callback) |
7 | fs.chownSync(path, uid, gid) |
8 | fs.fchown(fd, uid, gid, callback) |
9 | fs.fchownSync(fd, uid, gid) |
10 | fs.lchown(path, uid, gid, callback) |
11 | fs.lchownSync(path, uid, gid) |
12 | fs.chmod(path, mode, callback) |
13 | fs.chmodSync(path, mode) |
14 | fs.fchmod(fd, mode, callback) |
15 | fs.fchmodSync(fd, mode) |
16 | fs.lchmod(path, mode, callback) |
17 | fs.lchmodSync(path, mode) |
18 | fs.stat(path, callback) |
19 | fs.lstat(path, callback) |
20 | fs.fstat(fd, callback) |
21 | fs.statSync(path) |
22 | fs.lstatSync(path) |
23 | fs.fstatSync(fd) |
24 | fs.link(srcpath, dstpath, callback) |
25 | fs.linkSync(srcpath, dstpath) |
26 | fs.symlink(srcpath, dstpath[, type], callback) |
27 | fs.symlinkSync(srcpath, dstpath[, type]) |
28 | fs.readlink(path, callback) |
29 | fs.realpath(path[, cache], callback) |
30 | fs.realpathSync(path[, cache]) |
31 | fs.unlink(path, callback) |
32 | fs.unlinkSync(path) |
33 | fs.rmdir(path, callback) |
34 | fs.rmdirSync(path) |
35 | fs.mkdir(path[, mode], callback) |
36 | fs.mkdirSync(path[, mode]) |
37 | fs.readdir(path, callback) |
38 | fs.readdirSync(path) |
39 | fs.close(fd, callback) |
40 | fs.closeSync(fd) |
41 | fs.open(path, flags[, mode], callback) |
42 | fs.openSync(path, flags[, mode]) |
43 | fs.utimes(path, atime, mtime, callback) |
44 | fs.utimesSync(path, atime, mtime) |
45 | fs.futimes(fd, atime, mtime, callback) |
46 | fs.futimesSync(fd, atime, mtime) |
47 | fs.fsync(fd, callback) |
48 | fs.fsyncSync(fd) |
49 | fs.write(fd, buffer, offset, length[, position], callback) |
50 | fs.write(fd, data[, position[, encoding]], callback) |
51 | fs.writeSync(fd, buffer, offset, length[, position]) |
52 | fs.writeSync(fd, data[, position[, encoding]]) |
53 | fs.read(fd, buffer, offset, length, position, callback) |
54 | fs.readSync(fd, buffer, offset, length, position) |
55 | fs.readFile(filename[, options], callback) |
56 | fs.readFileSync(filename[, options])<="" td=""> |
57 | fs.writeFile(filename, data[, options], callback) |
58 | fs.writeFileSync(filename, data[, options]) |
59 | fs.appendFile(filename, data[, options], callback) |
60 | fs.appendFileSync(filename, data[, options]) |
61 | fs.watchFile(filename[, options], listener) |
62 | fs.unwatchFile(filename[, listener]) |
63 | fs.watch(filename[, options][, listener]) |
64 | fs.exists(path, callback) |
65 | fs.existsSync(path) |
66 | fs.access(path[, mode], callback) |
67 | fs.accessSync(path[, mode]) |
68 | fs.createReadStream(path[, options]) |
69 | fs.createWriteStream(path[, options]) |
70 | fs.symlink(srcpath, dstpath[, type], callback) |
node.js——模块系统和函数
node.js——路由
node.js——全局对象
node.js对文件的操作