Rumah > hujung hadapan web > tutorial js > 解析NodeJs的fs读写删除移动监听

解析NodeJs的fs读写删除移动监听

怪我咯
Lepaskan: 2017-04-30 11:08:25
asal
1454 orang telah melayarinya

这篇文章主要介绍了NodeJs的fs读写删除移动监听,非常不错,具有参考借鉴价值,需要的朋友可以参考下

NodeJs版本:4.4.4

fs

文件系统模块是一个封装了标准的 POSIX 文件 I/O 操作的集合。Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本。

图片的复制与粘贴

创建一个可读流与一个写入流。通过管道pipe。

var fileReadStream = fs.createReadStream(sourcePath);
var fileWriteStream = fs.createWriteStream(targetPath);
fileReadStream.pipe(fileWriteStream);
//监听关闭事件得知执行完成
fileWriteStream.on('close', function() {
 console.log('移动成功!');   
})
Salin selepas log masuk

读文件(fs.readFile)

定义:fs.readFile(filename[, options], callback)

参数:

  • filename:{String} 文件名/文件路径

  • options:{Object} 可选参数

encoding:{String | Null} 默认 = null 编码方式

flag:{String} 默认 = 'r' 文件打开的行为(可写,可读等)

  • callback:{Function}

var fs = require('fs');
//读取文件
fs.readFile('../lianxi/child_process.js',{
 encoding:'utf-8',
 flag:'r'
}, function(err,data){
 if(err) throw err;
 console.log(data);
});
Salin selepas log masuk

这里读取文件如果不设置编码方式,读取的文件就是以buffer的形式返回。

<Buffer 76 61 72 20 63 68 69 6c 64 5f 70 72 6f 63 65 73 73 20 3d 20 72 65 71 75 69 72 65 28 27 63 68 69 6c 64 5f 70 72 6f 63 65 73 73 27 29 3b 0d 0a 76 61 72 ... >
Salin selepas log masuk

设置为utf-8后,返回的就是字符串的形式。如下:

var child_process = require(&#39;child_process&#39;);...
Salin selepas log masuk

写文件(fs.writeFile)

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

参数:

  • filename:{String}

  • data:{String | Buffer}

  • options:{Object}

encoding:{String | Null} 默认 = 'utf8'
mode:{Number} 默认 = 438 (aka 0666 in Octal)
flag:{String} 默认 = 'w'

  • callback {Function}

//写入文件
fs.writeFile(&#39;../lianxi/child_process.js&#39;,&#39;[zqz]要写入的数据字符串或者buffer&#39;,{
 encoding:&#39;utf8&#39;,
 mode:438,
 flag:&#39;w&#39;
},function(err){
})
Salin selepas log masuk

注意:异步写文件,如果文件已经存在则替换。

打开文件(fs.open)

定义:fs.open(path, flags[, mode], callback)

参数:

  • path:文件/文件路径

  • flags:文件打开的行为

  • mode:设置文件模式(权限),文件创建默认权限为 0666(可读,可写)。

  • callback:回调函数

//打开文件
fs.open(&#39;../lianxi/child_process.js&#39;,&#39;r+&#39;,0666,function(err,data){
})
Salin selepas log masuk

给文件添加数据(fs.appendFile)

定义:fs.appendFile(filename, data[, options], callback)

参数:

  • filename:{String}

  • data:{String | Buffer}

  • options:{Object}

encoding {String | Null} 默认 = 'utf8'
mode {Number} 默认 = 438 (aka 0666 in Octal)
flag {String} 默认 = 'a'

  • callback {Function}

//给文件添加数据
fs.appendFile(&#39;../lianxi/child_process.js&#39;, &#39;异步添加的字符串或buffer&#39;, {
 encoding:&#39;utf8&#39;,
 mode:438,
 flag:&#39;a&#39;
}, function(err){
});
Salin selepas log masuk

注意:异步的给文件添加数据,如果文件不存在,就会创建一个文件。

删除文件(fs.unlink)

定义:fs.unlink(path, callback)

var fs = require(&#39;fs&#39;);
fs.unlink(&#39;./t/index.html&#39;,function (err) {
 if(err) throw err;
 console.log(&#39;成功&#39;)
})
Salin selepas log masuk


创建文件(fs.open)

定义:fs.open(path, flags[, mode], callback)

也可以使用fs.open创建文件。

fs.open("test.txt", "w",function (err) {
});
Salin selepas log masuk


删除文件夹(fs.rmdir)

定义:fs.rmdir(path, callback)

fs.rmdir(&#39;./t/a&#39;,function (err) {
 if(err) throw err;
 console.log(&#39;成功&#39;)
})
Salin selepas log masuk


创建文件夹(fs.mkdir)

定义:fs.mkdir(path[, mode], callback)

参数:mode 默认是 to 0777.

fs.mkdir(&#39;./t/a&#39;,0777,function (err) {
 if(err) throw err;
 console.log(&#39;成功&#39;)
})
Salin selepas log masuk

文件监听(fs.watch fs.watchFile)

定义:fs.watch(filename[, options][, listener])
定义:fs.watchFile(filename[, options], listener)

fs.watch(&#39;test.js&#39;, function (event, filename) {
});
fs.watchFile(&#39;test.js&#39;, function(curr, prev){
});
Salin selepas log masuk

flags


Flag 描述
r 以读取模式打开文件。如果文件不存在抛出异常。
r+ 以读写模式打开文件。如果文件不存在抛出异常。
rs 以同步的方式读取文件。
rs+ 以同步的方式读取和写入文件。
w 以写入模式打开文件,如果文件不存在则创建。
wx 类似 'w',但是如果文件路径存在,则文件写入失败。
w+ 以读写模式打开文件,如果文件不存在则创建。
wx+ 类似 'w+', 但是如果文件路径存在,则文件读写失败。
a 以追加模式打开文件,如果文件不存在则创建。
ax 类似 'a', 但是如果文件路径存在,则文件追加失败。
a+ 以读取追加模式打开文件,如果文件不存在则创建。
ax+ 类似 'a+', 但是如果文件路径存在,则文件读取追加失败。


Atas ialah kandungan terperinci 解析NodeJs的fs读写删除移动监听. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan