国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

使用nodeJS中的fs模塊對文件及目錄進行讀寫,刪除,追加,等操作詳

2024-05-06 15:44:12
字體:
供稿:網(wǎng)友

fs概述

文件 I/O 是由簡單封裝的標準 POSIX 函數(shù)提供的。 nodeJS中通過 require('fs') 使用fs模塊。 所有的方法都有異步和同步的形式。

異步形式始終以完成回調(diào)作為它最后一個參數(shù)。 傳給完成回調(diào)的參數(shù)取決于具體方法,但第一個參數(shù)總是留給異常。 如果操作成功完成,則第一個參數(shù)會是 null 或 undefined

//異步示例var fs = require('fs');fs.unlink('/tmp/hello', function(err){ if (err) throw err; console.log('successfully deleted /tmp/hello');});

當使用同步形式時,任何異常都會被立即拋出。 可以使用 try/catch 來處理異常,或讓它們往上冒泡

//同步示例var fs = require('fs');fs.unlinkSync('/tmp/hello');console.log('successfully deleted /tmp/hello');

異步方法不保證執(zhí)行順序。 所以下面的例子容易出錯

fs.rename('/tmp/hello', '/tmp/world', function(err){ if (err) throw err; console.log('renamed complete');});fs.stat('/tmp/world', function(err, stats){ if (err) throw err; console.log('stats: ${JSON.stringify(stats)}');});

fs.stat 可能在 fs.rename 之前執(zhí)行。正確的方法是把回調(diào)鏈起來

fs.rename('/tmp/hello', '/tmp/world', function(err){ if (err) throw err; fs.stat('/tmp/world', function(err, stats){  if (err) throw err;  console.log('stats: ${JSON.stringify(stats)}'); });});

推薦開發(fā)者使用這些函數(shù)的異步版本。 同步版本會阻塞整個進程,直到它們完成(停止所有連接)

fs底層操作

1、打開文件 fs.open(path, flags[, mode], callback)

參數(shù)如下:

path <String> | <Buffer>

flags <String> | <Number>

mode <Integer> 設(shè)置文件模式(權(quán)限和 sticky 位),但只有當文件被創(chuàng)建時才有效。默認為 0666,可讀寫

callback <Function> 該回調(diào)有兩個參數(shù) (err錯誤, fd文件標識,與定時器標識類似)

flags可以是:

'r' - 以讀取模式打開文件。如果文件不存在則發(fā)生異常。

'r+' - 以讀寫模式打開文件。如果文件不存在則發(fā)生異常。

'rs+' - 以同步讀寫模式打開文件。命令操作系統(tǒng)繞過本地文件系統(tǒng)緩存。

'w' - 以寫入模式打開文件。文件會被創(chuàng)建(如果文件不存在)或截斷(如果文件存在)。

'wx' - 類似 'w',但如果 path 存在,則失敗。

'w+' - 以讀寫模式打開文件。文件會被創(chuàng)建(如果文件不存在)或截斷(如果文件存在)。

'wx+' - 類似 'w+',但如果 path 存在,則失敗。

'a' - 以追加模式打開文件。如果文件不存在,則會被創(chuàng)建。

'ax' - 類似于 'a',但如果 path 存在,則失敗。

'a+' - 以讀取和追加模式打開文件。如果文件不存在,則會被創(chuàng)建。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 泽库县| 涡阳县| 咸阳市| 连城县| 昌平区| 乐清市| 原阳县| 柳河县| 彩票| 西安市| 安义县| 淄博市| 江口县| 全椒县| 琼中| 桐乡市| 昭苏县| 永和县| 杭州市| 彩票| 新营市| 黄龙县| 九江市| 凤台县| 赤城县| 稻城县| 崇左市| 阳泉市| 凤山县| 左权县| 个旧市| 八宿县| 静安区| 大英县| 禹州市| 宁晋县| 凤台县| 镇巴县| 闽侯县| 大悟县| 海晏县|