多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > htmlcss > Node.js 吊炸天的文件操作

Node.js 吊炸天的文件操作

來源:程序員人生   發布時間:2016-09-22 11:02:21 閱讀次數:3605次

學習要點:

  • 同步和異步
  • 打開文件
  • 獲得文件信息
  • 寫入文件
  • 讀入文件
  • 關閉文件
  • 截取文件
  • 刪除文件
  • 創建目錄
  • 查看目錄
  • 刪除目錄

Node.js 文件系統

同步和異步
同步代碼從上到下履行,異步不受空間控制
案例:file.js

var fs = require('fs'); // 異步讀取 fs.readFile('input.txt', function (err, data) { if (err) return console.log(err); console.log('異步讀?。? + data.toString()); }) // 同步讀取 var data = fs.readFileSync('input.txt'); console.log('同步讀?。? + data.toString()); console.log('程序履行終了。');

這里寫圖片描述

打開文件

fs.open(path, flags[, mode], callback) 參數使用說明以下: path - 文件的路徑。 flags - 文件打開的行動。 mode - 設置文件模式(權限),文件創建默許權限為 0666(可讀,可寫)。 callback - 回調函數,帶有兩個參數如:callback(err, fd)。

案例:open.js

var fs = require('fs'); // 異步打開文件 console.log('準備打開文件'); // 讀寫方式打開inptu.txt fs.open('input.txt', 'r+', function (err, fd) { if (err) return console.log(err); console.log('文件打開成功'); }); console.log('程序履行終了');

這里寫圖片描述

獲得文件信息

fs.start(path, callback) 參數使用說明以下: path - 文件路徑。 callback - 回調函數,帶有兩個參數如:(err, stats), stats 是 fs.Stats 對象

案例:info.js

var fs = require('fs'); console.log('準備打開文件'); fs.stat('input.txt', function (err, stats) { if (err) return console.error(err); console.log(stats); console.log('讀取文件信息成功'); // 檢測文件類型 console.log('是不是為文件(isFile) ? ' + stats.isFile()); console.log('是不是為目錄(isDirectory) ? ' + stats.isDirectory()); })

這里寫圖片描述

寫入文件

fs.writeFile(filename, data[, options], callback) 如果文件存在,寫入的內容會覆蓋舊文件內容 參數使用說明以下: path - 文件路徑。 data - 要寫入文件的數據,可以是 String(字符串)Buffer(流) 對象。 options - 該參數是1個對象,包括 {encoding, mode, flag}。默許編碼為 utf8, 模式為 0666 , flag 為 'w' callback - 回調函數,回調函數只包括毛病信息參數(err),在寫入失敗時返回。

案例: write.js

var fs = require('fs'); console.log('準備寫入文件'); fs.writeFile('input.txt', '我是新寫入的內容', function (err) { if (err) console.error(err); console.log('數據寫入的數據'); console.log('-------------------'); }); console.log('讀取寫入的數據'); fs.readFile('input.txt', function (err, data) { if (err) console.error(err); console.log('異步讀取文件數據:' + data.toString()); })

這里寫圖片描述

讀入文件

fs.writeFile(filename, data[, options], callback) 如果文件存在,該方法寫入的內容會覆蓋舊的文件內容。 參數使用說明以下: path - 文件路徑。 data - 要寫入文件的數據,可以是 String(字符串)Buffer(流) 對象。 options - 該參數是1個對象,包括 {encoding, mode, flag}。默許編碼為 utf8, 模式為 0666 , flag 為 'w' callback - 回調函數,回調函數只包括毛病信息參數(err),在寫入失敗時返回

案例:read.js

var fs = require('fs'); var buf = new Buffer(1024); fs.open('input.txt', 'r+', function (err, fd) { if (err) return console.error(err); console.log('文件打開成功'); console.log('準備讀取文件'); // fd fs.open的標識 // buf 緩存區 // 0, buf.length 緩存區區間 // 0, 讀取input.txt開始位置 fs.read(fd, buf, 0, buf.length, 0, function (err, bytes) { if (err) console.log(err); console.log(bytes + ' 字節被讀取'); if (bytes > 0) { console.log(buf.slice(0, bytes).toString()); } }) })

這里寫圖片描述

關閉文件

fs.close(fd, callback) 參數使用說明以下: fd - 通過 fs.open() 方法返回的文件描寫符。 callback - 回調函數,沒有參數。

案例:close.js

var fs = require('fs'); var buf = new Buffer(1024); fs.open('input.txt', 'r+', function (err, fd) { if (err) return console.error(err); console.log('文件打開成功'); console.log('準備讀取文件'); // fd fs.open的標識 // buf 緩存區 // 0, buf.length 緩存區區間 // 0, 讀取input.txt開始位置 fs.read(fd, buf, 0, buf.length, 0, function (err, bytes) { if (err) console.log(err); console.log(bytes + ' 字節被讀取'); if (bytes > 0) { console.log(buf.slice(0, bytes).toString()); } }) // 關閉文件 fs.close(fd, function (err){ if (err) console.error(err); console.log('文件關閉成功'); }); })

這里寫圖片描述

截取文件

fs.ftruncate(fd, len, callback) 該方法使用了文件描寫符來讀取文件 參數 fd - 通過 fs.open() 方法返回的文件描寫符。 len - 文件內容截取的長度。 callback - 回調函數,沒有參數

。

案例:ftruncate.js

var fs = require('fs'); var buf = new Buffer(1024); console.log('準備打開文件'); fs.open('input.txt', 'r+', function (err, fd) { if (err) return console.error(err); console.log('文件打開成功'); console.log('截取10字節后的文件內容'); // 截取文件 fs.ftruncate(fd, 10, function (err) { if (err) console.log(err); console.log('文件截取成功'); console.log('讀取相同的文件'); fs.read(fd, buf, 0, buf.length, 0, function (err, bytes) { if (err) console.error(err); // 僅僅輸出讀取的字節 if (bytes > 0) { console.log(buf.slice(0, bytes).toString()); } // 關閉文件 fs.close(fd, function (err) { if (err) console.error(err); console.log('文件關閉成功'); }) }) }) })

這里寫圖片描述

刪除文件

fs.unlink(path, callback) 參數 path - 文件路徑 callback - 回調函數,無參

案例:unlink.js

var fs = require('fs'); console.log('準備刪除文件'); fs.unlink('input.txt', function (err) { if (err) return console.log(err); console.log('文件刪除成功'); })

這里寫圖片描述

創建目錄

fs.mkdir(path[, mode], callback) 參數 path - 文件路徑 mode - 設置目錄權限,默許為0777 callback - 回調函數

案例:mkdir.js

var fs = require('fs'); console.log('創建目錄 test'); fs.mkdir('test', function (err) { if (err) return console.error(err); console.log('目錄創建成功'); });

這里寫圖片描述

查看目錄

fs.readdir(path, callback) 參數使用說明以下: path - 文件路徑。 callback - 回調函數,回調函數帶有兩個參數err, files,err 為毛病信息,files 為 目錄下的文件數組列表

案例:readdir.js

var fs = require('fs'); console.log('查看 /file 目錄'); fs.readdir('../file/', function (err, files) { if (err) return console.log(err); files.forEach(function (file) { console.log(file); }) })

這里寫圖片描述

刪除目錄

fs.rmdir(path, callback) 參數使用說明以下: path - 文件路徑。 callback - 回調函數,沒有參數。

案例: rmdir.js

var fs = require('fs'); console.log('刪除 /test 目錄'); fs.rmdir('test', function (err){ if (err) console.error(err); console.log('讀取 /test 目錄'); fs.readdir('test', function (err, files) { if (err) return console.log(err); files.forEach(function (file) { console.log(file); }) }) });

這里寫圖片描述

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美一区二区自偷自拍视频 | 2021年最新久久久视精品爱 | 欧美日韩第三页 | 亚洲人在线视频 | 久久精品国产在热久久2019 | 性吧影院 | 加勒比一本大道香蕉在线视频 | 欧美一级在线视频 | 欧美午夜视频在线 | 日本欧美不卡一区二区三区在线 | 伊人免费在线观看高清版 | 日本视频一区二区三区 | 波多久久夜色精品国产 | 亚洲欧美日韩综合在线一区二区三区 | 国产一级做a爱片久久片 | 欧美三级艳星xxxxxx | 女人18毛片a级毛片一区二区 | 国产福利精品一区二区 | 成人性欧美丨区二区三区 | 西欧free性video巴西 | 成人国产激情福利久久精品 | 亚洲无限乱码 | 日韩欧美在线观看视频一区二区 | 高清不卡一区二区 | 久久精品中文字幕不卡一二区 | 免费一级肉体全黄毛片高清 | 亚洲国产系列 | 动漫日本在线免费观看 | 欧美成人吃奶高清视频 | 国产在线精品福利一区二区三区 | h在线免费 | 在线观看免费黄色网址 | 在线播放精品视频 | a级片网| 一本大道卡一卡二卡三视频 | 69av免费视频 | 桃花福利视频在线观看 | 欧美影院一区二区三区 | 亚洲视频一 | 极品一区| 2022国产精品网站在线播放 |